dragonfly*) template=netbsd ;;
freebsd*) template=freebsd ;;
hpux*) template=hpux ;;
- irix*) template=irix ;;
linux*|gnu*|k*bsd*-gnu)
template=linux ;;
mingw*) template=win32 ;;
case $template in
aix) pgac_cc_list="gcc xlc";;
- irix) pgac_cc_list="cc";; # no gcc
*) pgac_cc_list="gcc cc";;
esac
dragonfly*) template=netbsd ;;
freebsd*) template=freebsd ;;
hpux*) template=hpux ;;
- irix*) template=irix ;;
linux*|gnu*|k*bsd*-gnu)
template=linux ;;
mingw*) template=win32 ;;
case $template in
aix) pgac_cc_list="gcc xlc";;
- irix) pgac_cc_list="cc";; # no gcc
*) pgac_cc_list="gcc cc";;
esac
</listitem>
</varlistentry>
- <varlistentry>
- <term><systemitem class="osname">IRIX</></term>
- <indexterm><primary>IRIX</><secondary>shared library</></>
- <listitem>
- <para>
- <acronym>PIC</acronym> is the default, no special compiler
- options are necessary. The linker option to produce shared
- libraries is <option>-shared</option>.
-<programlisting>
-cc -c foo.c
-ld -shared -o foo.so foo.o
-</programlisting>
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><systemitem class="osname">Linux</></term>
<indexterm><primary>Linux</><secondary>shared library</></>
shared libraries. The systems on which this is
<emphasis>not</emphasis> necessary include
<systemitem class="osname">FreeBSD</>,
- <systemitem class="osname">HP-UX</>, <systemitem
- class="osname">IRIX</>, <systemitem class="osname">Linux</>,
+ <systemitem class="osname">HP-UX</>,
+ <systemitem class="osname">Linux</>,
<systemitem class="osname">NetBSD</>, <systemitem
class="osname">OpenBSD</>, <systemitem class="osname">Tru64
UNIX</> (formerly <systemitem class="osname">Digital UNIX</>), and
<para>
<productname>PostgreSQL</> can be expected to work on these operating
systems: Linux (all recent distributions), Windows (Win2000 SP4 and later),
- FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, IRIX, Solaris, Tru64 Unix,
+ FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, Solaris, Tru64 Unix,
and UnixWare. Other Unix-like systems may also work but are not currently
being tested. In most cases, all CPU architectures supported by
a given operating system will work. Look in
</para>
</sect2>
- <sect2 id="installation-notes-irix">
- <title>IRIX</title>
-
- <indexterm zone="installation-notes-irix">
- <primary>IRIX</primary>
- <secondary>installation on</secondary>
- </indexterm>
-
- <para>
- PostgreSQL has been reported to run successfully on MIPS r8000,
- r10000 (both ip25 and ip27) and r12000(ip35) processors, running
- IRIX 6.5.5m, 6.5.12, 6.5.13, and 6.5.26 with MIPSPro compilers
- version 7.30, 7.3.1.2m, 7.3, and 7.4.4m.
- </para>
-
- <para>
- You will need the MIPSPro full ANSI C compiler. There are
- problems trying to build with GCC. It is a known GCC bug (not
- fixed as of version 3.0) related to using functions that return
- certain kinds of structures. This bug affects functions like
- <function>inet_ntoa</>, <function>inet_lnaof</>, <function>inet_netof</>, <function>inet_makeaddr</>,
- and <function>semctl</>. It is supposed to be fixed by forcing
- code to link those functions with libgcc, but this has not been
- tested yet.
- </para>
-
- <para>
- It is known that version 7.4.1m of the MIPSPro compiler generates
- incorrect code. The symptom is <quote>invalid primary checkpoint
- record</quote> when trying to start the database.) Version 7.4.4m
- is OK; the status of intermediate versions is uncertain.
- </para>
-
- <para>
- There may be a compilation problem like the following:
-<screen>
-cc-1020 cc: ERROR File = pqcomm.c, Line = 427
- The identifier "TCP_NODELAY" is undefined.
-
- if (setsockopt(port->sock, IPPROTO_TCP, TCP_NODELAY,
-</screen>
- Some versions include TCP definitions
- in <filename>sys/xti.h</filename>, so it is necessary to
- add <literal>#include <sys/xti.h></literal>
- in <filename>src/backend/libpq/pqcomm.c</> and in
- <filename>src/interfaces/libpq/fe-connect.c</>. If you encounter
- this, please let us know so we can develop a proper fix.
- </para>
-
- <para>
- In the regression tests, there might be some low-order-digit
- differences in the geometry tests, depending on which FPU are you
- using. Any other error is cause for suspicion.
- </para>
- </sect2>
-
<sect2 id="installation-notes-mingw">
<title>MinGW/Native Windows</title>
endif
endif
-ifeq ($(PORTNAME), irix)
- ifdef SO_MAJOR_VERSION
- shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
- endif
- LINK.shared = $(COMPILER) -shared
- ifdef soname
- LINK.shared += -Wl,-set_version,sgi$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
- endif
-endif
-
ifeq ($(PORTNAME), linux)
LINK.shared = $(COMPILER) -shared
ifdef soname
+++ /dev/null
-/* src/backend/port/dynloader/irix.c */
-
-/* Dummy file used for nothing at this point
- *
- * see irix.h
- */
+++ /dev/null
-/*-------------------------------------------------------------------------
- *
- * irix.h
- * port-specific prototypes for Irix
- *
- *
- * Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/backend/port/dynloader/irix.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PORT_PROTOS_H
-#define PORT_PROTOS_H
-
-#include <dlfcn.h>
-#include "utils/dynamic_loader.h" /* pgrminclude ignore */
-
-/*
- * Dynamic Loader on Irix.
- *
- * this dynamic loader uses the system dynamic loading interface for shared
- * libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
- * library as the file to be dynamically loaded.
- */
-
-/*
- * In some older systems, the RTLD_NOW flag isn't defined and the mode
- * argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted
- * if available, but it doesn't exist everywhere.
- * If it doesn't exist, set it to 0 so it has no effect.
- */
-#ifndef RTLD_NOW
-#define RTLD_NOW 1
-#endif
-#ifndef RTLD_GLOBAL
-#define RTLD_GLOBAL 0
-#endif
-
-#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL)
-#define pg_dlsym dlsym
-#define pg_dlclose dlclose
-#define pg_dlerror dlerror
-
-#endif /* PORT_PROTOS_H */
}
#endif /* HAVE_BUGGY_SOLARIS_STRTOD */
-#ifdef HAVE_BUGGY_IRIX_STRTOD
-
- /*
- * In some IRIX versions, strtod() recognizes only "inf", so if the input
- * is "infinity" we have to skip over "inity". Also, it may return
- * positive infinity for "-inf".
- */
- if (isinf(val))
- {
- if (pg_strncasecmp(num, "Infinity", 8) == 0)
- {
- val = get_float4_infinity();
- endptr = num + 8;
- }
- else if (pg_strncasecmp(num, "+Infinity", 9) == 0)
- {
- val = get_float4_infinity();
- endptr = num + 9;
- }
- else if (pg_strncasecmp(num, "-Infinity", 9) == 0)
- {
- val = -get_float4_infinity();
- endptr = num + 9;
- }
- else if (pg_strncasecmp(num, "-inf", 4) == 0)
- {
- val = -get_float4_infinity();
- endptr = num + 4;
- }
- }
-#endif /* HAVE_BUGGY_IRIX_STRTOD */
-
/* skip trailing whitespace */
while (*endptr != '\0' && isspace((unsigned char) *endptr))
endptr++;
}
#endif /* HAVE_BUGGY_SOLARIS_STRTOD */
-#ifdef HAVE_BUGGY_IRIX_STRTOD
-
- /*
- * In some IRIX versions, strtod() recognizes only "inf", so if the input
- * is "infinity" we have to skip over "inity". Also, it may return
- * positive infinity for "-inf".
- */
- if (isinf(val))
- {
- if (pg_strncasecmp(num, "Infinity", 8) == 0)
- {
- val = get_float8_infinity();
- endptr = num + 8;
- }
- else if (pg_strncasecmp(num, "+Infinity", 9) == 0)
- {
- val = get_float8_infinity();
- endptr = num + 9;
- }
- else if (pg_strncasecmp(num, "-Infinity", 9) == 0)
- {
- val = -get_float8_infinity();
- endptr = num + 9;
- }
- else if (pg_strncasecmp(num, "-inf", 4) == 0)
- {
- val = -get_float8_infinity();
- endptr = num + 4;
- }
- }
-#endif /* HAVE_BUGGY_IRIX_STRTOD */
-
/* skip trailing whitespace */
while (*endptr != '\0' && isspace((unsigned char) *endptr))
endptr++;
+++ /dev/null
-/* src/include/port/irix.h */
-
-/*
- * IRIX 6.5.26f and 6.5.22f (at least) have a strtod() that accepts
- * "infinity", but leaves endptr pointing to "inity".
- */
-#define HAVE_BUGGY_IRIX_STRTOD
#endif /* HPUX on IA64, non gcc */
-
-#if defined(__sgi) /* SGI compiler */
-/*
- * SGI IRIX 5
- * slock_t is defined as a unsigned long. We use the standard SGI
- * mutex API.
- *
- * The following comment is left for historical reasons, but is probably
- * not a good idea since the mutex ABI is supported.
- *
- * This stuff may be supplemented in the future with Masato Kataoka's MIPS-II
- * assembly from his NECEWS SVR4 port, but we probably ought to retain this
- * for the R3000 chips out there.
- */
-#define HAS_TEST_AND_SET
-
-typedef unsigned long slock_t;
-
-#include "mutex.h"
-#define TAS(lock) (test_and_set(lock,1))
-#define S_UNLOCK(lock) (test_then_and(lock,0))
-#define S_INIT_LOCK(lock) (test_then_and(lock,0))
-#define S_LOCK_FREE(lock) (test_then_add(lock,0) == 0)
-#endif /* __sgi */
-
#if defined(_AIX) /* AIX */
/*
* AIX (POWER)