summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Kinder <nkinder@redhat.com>2005-04-18 20:45:01 +0000
committerNathan Kinder <nkinder@redhat.com>2005-04-18 20:45:01 +0000
commite92ef06ca32689a87e4c0c9eb15b1df0f442d98e (patch)
treec9cdea077e7bd147732b01242ca99a60c06dd00d
parent365804864dd9f87d93dfc7d6c557f5bd1ad2397e (diff)
downloadds-e92ef06ca32689a87e4c0c9eb15b1df0f442d98e.tar.gz
ds-e92ef06ca32689a87e4c0c9eb15b1df0f442d98e.tar.xz
ds-e92ef06ca32689a87e4c0c9eb15b1df0f442d98e.zip
HP-UX IPF Porting changes
-rw-r--r--config/HP-UX.mk4
-rwxr-xr-xhttpd/autobuild7
-rw-r--r--ldap/admin/src/DSAdmin.pm5
-rw-r--r--ldap/admin/src/create_instance.c8
-rw-r--r--ldap/admin/src/ds_remove.c2
-rw-r--r--ldap/admin/src/instindex.cpp4
-rw-r--r--ldap/admin/src/migrateTo45
-rw-r--r--ldap/admin/src/scripts/template-migrate50to515
-rwxr-xr-xldap/admin/src/scripts/template-migrateTo55
-rwxr-xr-xldap/admin/src/upgradeServer7
-rw-r--r--ldap/clients/dsgw/dosearch.c2
-rw-r--r--ldap/clients/dsgw/edit.c2
-rw-r--r--ldap/cm/newinst/Makefile4
-rw-r--r--ldap/nsldap.mk20
-rw-r--r--ldap/servers/plugins/replication/cl5_api.c4
-rw-r--r--ldap/servers/plugins/replication/repl5_protocol.c4
-rw-r--r--ldap/servers/plugins/retrocl/retrocl.h4
-rw-r--r--ldap/servers/slapd/Makefile13
-rw-r--r--ldap/servers/slapd/main.c2
-rw-r--r--ldap/servers/slapd/tools/migratecred.c4
-rw-r--r--ldap/systools/idsktune.c53
-rw-r--r--lib/base/systhr.cpp5
-rw-r--r--lib/ldaputil/init.c4
-rwxr-xr-xnsarch9
-rw-r--r--nsconfig.mk45
-rw-r--r--nsdefs.mk20
26 files changed, 215 insertions, 32 deletions
diff --git a/config/HP-UX.mk b/config/HP-UX.mk
index c8bc0bfc..d0031d37 100644
--- a/config/HP-UX.mk
+++ b/config/HP-UX.mk
@@ -95,6 +95,10 @@ DSO_LDFLAGS =
DSO_CFLAGS = +z
ifdef SERVER_BUILD
+ifeq ($(OS_RELEASE),B.11.23)
+SERVER_CFLAGS = +DD32 -Wl,-E,-N
+else
SERVER_CFLAGS = +DA1.0 -Wl,-E,-N
+endif
STATIC_JAVA = yes
endif
diff --git a/httpd/autobuild b/httpd/autobuild
index 65e10aa8..dd5f67c4 100755
--- a/httpd/autobuild
+++ b/httpd/autobuild
@@ -62,7 +62,12 @@ elif [ "$UNAME" = "SOLARISx86" ]; then
elif [ "$UNAME" = "HPUX" ]; then
PATH=/usr/local/hpux/bin:/usr/bin/X11:$PATH; export PATH
GTAR=/share/builds/f/gtar/bin/hpux-gtar
- HTTPDLIB=libnshttpd.sl
+ ARCH=`uname -m`
+ if [ "$ARCH" = "ia64" ]; then
+ HTTPDLIB=libnshttpd.so
+ else
+ HTTPDLIB=libnshttpd.sl
+ fi
elif [ "$UNAME" = "BSDI" ]; then
PATH=/usr/local/bin:/usr/X11/bin:$PATH; export PATH
diff --git a/ldap/admin/src/DSAdmin.pm b/ldap/admin/src/DSAdmin.pm
index 1f492b08..503134fe 100644
--- a/ldap/admin/src/DSAdmin.pm
+++ b/ldap/admin/src/DSAdmin.pm
@@ -88,7 +88,12 @@ BEGIN {
$dll_suffix = "_shr.a";
}
elsif ( $os eq "HP-UX" ) {
+ $arch = &uname("-p");
+ if ( $arch eq "ia64" ) {
+ $dll_suffix = ".so";
+ } else {
$dll_suffix = ".sl";
+ }
}
elsif ( $os eq "WINNT" ) {
$dll_suffix = ".dll";
diff --git a/ldap/admin/src/create_instance.c b/ldap/admin/src/create_instance.c
index c4b5a71a..fffcb2d4 100644
--- a/ldap/admin/src/create_instance.c
+++ b/ldap/admin/src/create_instance.c
@@ -99,7 +99,11 @@
#include <netinet/in.h> /* sockaddr_in */
#include <arpa/inet.h> /* inet_addr */
#ifdef HPUX
+#ifdef __ia64
+#define SHLIB_EXT "so"
+#else
#define SHLIB_EXT "sl"
+#endif
#else
#define SHLIB_EXT "so"
#endif
@@ -3092,7 +3096,11 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
shared_lib = ".dll";
#else
#ifdef HPUX
+#ifdef __ia64
+ shared_lib = ".so";
+#else
shared_lib = ".sl";
+#endif
#else
#ifdef AIX
#if OSVERSION >= 4200
diff --git a/ldap/admin/src/ds_remove.c b/ldap/admin/src/ds_remove.c
index 674ac499..f5cb4fc3 100644
--- a/ldap/admin/src/ds_remove.c
+++ b/ldap/admin/src/ds_remove.c
@@ -135,7 +135,7 @@ int main(int argc, char *argv[])
char *installroot;
int isRunning;
#ifndef __LP64__
-#ifdef hpux
+#if defined(__hpux) && !defined(__ia64)
_main();
#endif
#endif
diff --git a/ldap/admin/src/instindex.cpp b/ldap/admin/src/instindex.cpp
index 7613ddae..5557fdbf 100644
--- a/ldap/admin/src/instindex.cpp
+++ b/ldap/admin/src/instindex.cpp
@@ -75,7 +75,11 @@ printInfo(int argc, char *argv[], char *envp[], FILE* fp)
fprintf(fp, "#####################################\n");
}
+#if defined (__hpux) && defined (__ia64)
+int main(int argc, char *argv[], char *envp[])
+#else
int main(int argc, char *argv[], char * /*envp*/ [])
+#endif
{
char *rm = getenv("REQUEST_METHOD");
int status = 0;
diff --git a/ldap/admin/src/migrateTo4 b/ldap/admin/src/migrateTo4
index f6969ea1..dcf63eb5 100644
--- a/ldap/admin/src/migrateTo4
+++ b/ldap/admin/src/migrateTo4
@@ -83,7 +83,12 @@ BEGIN {
$dll_suffix = "_shr.a";
}
elsif ( $os eq "HP-UX" ) {
+ $arch = &uname("-p");
+ if ( $arch eq "ia64" ) {
+ $dll_suffix = ".so";
+ } else {
$dll_suffix = ".sl";
+ }
}
elsif ( $os eq "WINNT" ) {
$dll_suffix = ".dll";
diff --git a/ldap/admin/src/scripts/template-migrate50to51 b/ldap/admin/src/scripts/template-migrate50to51
index 2160024d..0feb4aca 100644
--- a/ldap/admin/src/scripts/template-migrate50to51
+++ b/ldap/admin/src/scripts/template-migrate50to51
@@ -117,7 +117,12 @@ BEGIN {
$dll_suffix = "_shr.a";
}
elsif ( $os eq "HP-UX" ) {
+ $arch = &uname("-p");
+ if ( $arch eq "ia64" ) {
+ $dll_suffix = ".so";
+ } else {
$dll_suffix = ".sl";
+ }
}
elsif ( $os eq "WINNT" ) {
$dll_suffix = ".dll";
diff --git a/ldap/admin/src/scripts/template-migrateTo5 b/ldap/admin/src/scripts/template-migrateTo5
index fd4db316..f7bcd5aa 100755
--- a/ldap/admin/src/scripts/template-migrateTo5
+++ b/ldap/admin/src/scripts/template-migrateTo5
@@ -136,7 +136,12 @@ BEGIN {
$dll_suffix = "_shr.a";
}
elsif ( $os eq "HP-UX" ) {
+ $arch = &uname("-p");
+ if ( $arch eq "ia64" ) {
+ $dll_suffix = ".so";
+ } else {
$dll_suffix = ".sl";
+ }
}
elsif ( $os eq "WINNT" ) {
$dll_suffix = ".dll";
diff --git a/ldap/admin/src/upgradeServer b/ldap/admin/src/upgradeServer
index 2c6008d3..1aeeedf5 100755
--- a/ldap/admin/src/upgradeServer
+++ b/ldap/admin/src/upgradeServer
@@ -65,7 +65,12 @@ SWITCH: {
}
if ($os eq "HP-UX") {
$LIB_PATH = "SHLIB_PATH" ;
- $shlibsuf = ".sl";
+ my $arch = &uname("-p");
+ if ($arch eq "ia64") {
+ $shlibsuf = ".so";
+ } else {
+ $shlibsuf = ".sl";
+ }
last SWITCH ;
}
if ($isNT) {
diff --git a/ldap/clients/dsgw/dosearch.c b/ldap/clients/dsgw/dosearch.c
index a3274081..33ef4f5f 100644
--- a/ldap/clients/dsgw/dosearch.c
+++ b/ldap/clients/dsgw/dosearch.c
@@ -57,10 +57,12 @@ int main( argc, argv, env )
char *ldapquery = NULL;
#ifndef __LP64__
#ifdef HPUX
+#ifndef __ia64
/* call the static constructors in libnls */
_main();
#endif
#endif
+#endif
/*
* Parse out the GET args, if any. See the comments under
* get_request for an explanation of what's going on here
diff --git a/ldap/clients/dsgw/edit.c b/ldap/clients/dsgw/edit.c
index 72c0e5db..a2228841 100644
--- a/ldap/clients/dsgw/edit.c
+++ b/ldap/clients/dsgw/edit.c
@@ -86,10 +86,12 @@ int main( argc, argv, env )
dn = NULL;
#ifndef __LP64__
#ifdef HPUX
+#ifndef __ia64
/* call the static constructors in libnls */
_main();
#endif
#endif
+#endif
if (( tmplname = getenv( "QUERY_STRING" )) != NULL && *tmplname != '\0' ) {
tmplname = dsgw_ch_strdup( tmplname );
diff --git a/ldap/cm/newinst/Makefile b/ldap/cm/newinst/Makefile
index f8222ec3..0e2f977f 100644
--- a/ldap/cm/newinst/Makefile
+++ b/ldap/cm/newinst/Makefile
@@ -136,6 +136,10 @@ ifeq ($(NSOS_RELEASE),B.11.11)
MODERNHP=1
endif
+ifeq ($(NSOS_RELEASE),B.11.23)
+ MODERNHP=1
+endif
+
ifeq ($(MODERNHP),1)
CURSES=-lHcurses
else
diff --git a/ldap/nsldap.mk b/ldap/nsldap.mk
index 0436187e..6d62f84e 100644
--- a/ldap/nsldap.mk
+++ b/ldap/nsldap.mk
@@ -600,7 +600,11 @@ CB_DLL = chainingdb-plugin$(DLL_PRESUFFIX)
# Admin server dynamic library location.
#
ifeq ($(ARCH), HPUX)
+ifeq ($(OS_TEST), ia64)
+ADMSONAME=ns-admin.so
+else
ADMSONAME=ns-admin.sl
+endif
else
ifeq ($(ARCH), SOLARIS)
ADMSONAME=ns-admin.$(DLL_SUFFIX)
@@ -823,7 +827,11 @@ endif
# Passed to every compile (cc or gcc). This is where you put -O or -g, etc.
ifneq ($(ARCH), WINNT)
ifdef BUILD_OPT
+ifeq ($(ARCH) $(NSOS_RELEASE), HPUX B.11.23)
+EXTRACFLAGS=+O3
+else
EXTRACFLAGS=-O
+endif
else
EXTRACFLAGS=-g
endif
@@ -1183,7 +1191,14 @@ ifeq ($(ARCH), HPUX)
# HP-UX platform-specifics
#
+ifeq ($(NSOS_RELEASE), B.11.23)
+# -Ae is removed from PLATFORMCFLAGS, because CC and CXX share
+# same CFLAGS, -AP is added to CXX, and -Ae can not coexist with
+# -AP, so add -Ae to the front of CC
+CC=cc -Ae
+else
CC=cc
+endif
PLATFORM=hpux
# ranlib not needed under HP-UX
@@ -1217,7 +1232,12 @@ SONAMEFLAG_PREFIX=-Wl,+h
# -Ae means 'enforce ansi BUT allow the use of long-long'. we need this
# for 64-bit file support.
+ifneq ($(NSOS_RELEASE),B.11.23)
PLATFORMCFLAGS= -Dhpux -D$(PLATFORM) -D_HPUX_SOURCE -D_REENTRANT -Ae
+else
+PLATFORMCFLAGS= -Dhpux -D$(PLATFORM) -D_HPUX_SOURCE -D_REENTRANT
+THREADSLIB=-lpthread
+endif
#aCC doesn't recognize -Ae so this will be used with aCC
ACC_PLATFORMCFLAGS= -Dhpux -D$(PLATFORM) -D_HPUX_SOURCE -D_REENTRANT
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index cff5b5da..4b02299c 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -156,7 +156,11 @@
* The value 0 means use the default stacksize.
*/
#if defined (OSF1) || defined (__LP64__) || defined (_LP64) /* 64-bit architectures need bigger stacks */
+#if defined(__hpux) && defined(__ia64)
+#define DEFAULT_THREAD_STACKSIZE 524288L
+#else
#define DEFAULT_THREAD_STACKSIZE 131072L
+#endif
#else
#define DEFAULT_THREAD_STACKSIZE 0
#endif
diff --git a/ldap/servers/plugins/replication/repl5_protocol.c b/ldap/servers/plugins/replication/repl5_protocol.c
index 27af7249..867af479 100644
--- a/ldap/servers/plugins/replication/repl5_protocol.c
+++ b/ldap/servers/plugins/replication/repl5_protocol.c
@@ -343,7 +343,11 @@ prot_start(Repl_Protocol *rp)
if (NULL != rp)
{
if (PR_CreateThread(PR_USER_THREAD, prot_thread_main, (void *)rp,
+#if defined(__hpux) && defined(__ia64)
+ PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_UNJOINABLE_THREAD, 524288L ) == NULL)
+#else
PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD, PR_UNJOINABLE_THREAD, SLAPD_DEFAULT_THREAD_STACKSIZE) == NULL)
+#endif
{
PRErrorCode prerr = PR_GetError();
diff --git a/ldap/servers/plugins/retrocl/retrocl.h b/ldap/servers/plugins/retrocl/retrocl.h
index 237c95ff..63f0d4ba 100644
--- a/ldap/servers/plugins/retrocl/retrocl.h
+++ b/ldap/servers/plugins/retrocl/retrocl.h
@@ -77,7 +77,11 @@ typedef struct _cnumRet {
*/
#define CHANGELOGDB_TRIM_INTERVAL 300*1000 /* 5 minutes */
+#if defined(__hpux) && defined(__ia64)
+#define RETROCL_DLL_DEFAULT_THREAD_STACKSIZE 524288L
+#else
#define RETROCL_DLL_DEFAULT_THREAD_STACKSIZE 131072L
+#endif
#define RETROCL_BE_CACHEMEMSIZE "2097152"
#define RETROCL_BE_CACHESIZE "-1"
#define RETROCL_PLUGIN_NAME "DSRetroclPlugin"
diff --git a/ldap/servers/slapd/Makefile b/ldap/servers/slapd/Makefile
index 968df6f0..64858b21 100644
--- a/ldap/servers/slapd/Makefile
+++ b/ldap/servers/slapd/Makefile
@@ -88,6 +88,15 @@ endif
endif
endif
+ifeq ($(ARCH), HPUX)
+ifeq ($(OS_TEST),ia64)
+LDAP_DONT_USE_SMARTHEAP=1
+ifeq ($(DEBUG), optimize)
+CFLAGS+=+O3
+endif
+endif
+endif
+
# Don't use smartheap for debug builds
ifeq ($(DEBUG), full)
LDAP_DONT_USE_SMARTHEAP=1
@@ -189,10 +198,14 @@ LDFLAGS+=$(ARCH_CFLAGS)
ifeq ($(DEBUG), full)
ifeq ($(USE_64), 1)
EXTRA_LIBS_TEMP:=$(EXTRA_LIBS)
+ifneq ($(OS_TEST), ia64)
EXTRA_LIBS += /opt/langtools/lib/pa20_64/end.o
+endif
else
EXTRA_LIBS_TEMP:=$(EXTRA_LIBS)
+ifneq ($(OS_TEST), ia64)
EXTRA_LIBS += /opt/langtools/lib/end.o
+endif
endif #USE_64
endif #DEBUG
# Always put libpthread at the beginning of the library list, otherwise NSPR gets upset (very)
diff --git a/ldap/servers/slapd/main.c b/ldap/servers/slapd/main.c
index 379c55be..3eb207fc 100644
--- a/ldap/servers/slapd/main.c
+++ b/ldap/servers/slapd/main.c
@@ -647,7 +647,7 @@ main( int argc, char **argv)
Slapi_Backend *be = NULL;
int init_ssl;
#ifndef __LP64__
-#if defined(__hpux)
+#if defined(__hpux) && !defined(__ia64)
/* for static constructors */
_main();
#endif
diff --git a/ldap/servers/slapd/tools/migratecred.c b/ldap/servers/slapd/tools/migratecred.c
index f2c75da3..6b9f94ea 100644
--- a/ldap/servers/slapd/tools/migratecred.c
+++ b/ldap/servers/slapd/tools/migratecred.c
@@ -152,7 +152,11 @@ main( int argc, char **argv)
shared_lib = ".dll";
#else
#ifdef HPUX
+#ifdef __ia64
+ shared_lib = ".so";
+#else
shared_lib = ".sl";
+#endif
#else
#ifdef AIX
#if OSVERSION >= 4200
diff --git a/ldap/systools/idsktune.c b/ldap/systools/idsktune.c
index f0990785..2d70f75a 100644
--- a/ldap/systools/idsktune.c
+++ b/ldap/systools/idsktune.c
@@ -49,7 +49,7 @@ static char *build_date = "04-APRIL-2005";
#define IDDS_LINUX_SYSCTL 1
#endif
-#if defined(__sun) || defined(__sun__) || defined(_AIX) || defined(__hppa) || defined(_nec_ews_svr4) || defined(__osf__) || defined(__sgi) || defined(sgi)
+#if defined(__sun) || defined(__sun__) || defined(_AIX) || defined(__hpux) || defined(_nec_ews_svr4) || defined(__osf__) || defined(__sgi) || defined(sgi)
#define IDDS_SYSV_INCLUDE 1
#endif
@@ -68,7 +68,7 @@ static char *build_date = "04-APRIL-2005";
#include <errno.h>
#include <ctype.h>
#if !defined(_WIN32) && !defined(__VMS) && !defined(IDDS_LINUX_INCLUDE) && !defined(IDDS_BSD_INCLUDE)
-#if defined(__hppa) && defined(f_type)
+#if defined(__hpux) && defined(f_type)
#undef f_type
#endif
#include <sys/statvfs.h>
@@ -118,7 +118,7 @@ extern char *optarg;
#define IDDS_MNTENT_MNTTAB "/etc/mtab"
#endif
-#if defined(__hppa)
+#if defined(__hpux)
#include <sys/pstat.h>
#include <mntent.h>
@@ -235,7 +235,7 @@ int mem_rec = 1024;
#define NAME_TCP_SMALLEST_ANON_PORT "tcp_smallest_anon_port"
#endif
-#if defined(__hppa)
+#if defined(__hpux)
#define NAME_NDD_CFG_FILE "/etc/rc.config.d/nddconf"
#define NAME_TCP_TIME_WAIT_INTERVAL "tcp_time_wait_interval"
#define NAME_TCP_CONN_REQ_MAX_Q "tcp_conn_request_max"
@@ -251,7 +251,7 @@ int mem_rec = 1024;
#define NAME_TCP_SMALLEST_ANON_PORT "net.inet.ip.portrange.hifirst"
#endif
-#if defined(__sun) || defined(__hppa) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
+#if defined(__sun) || defined(__hpux) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
long ndd_tcp_conn_req_max_q = 0;
long ndd_tcp_conn_req_max_q0 = 0;
@@ -300,7 +300,7 @@ struct iii_pinfo {
#endif
-#if defined(__hppa)
+#if defined(__hpux)
struct pst_dynamic pst_dyn;
struct pst_static pst_stt;
struct pst_vminfo pst_vmm;
@@ -1403,7 +1403,7 @@ static void gen_tests (void)
phys_mb = (l * pk) / 1024;
}
#else
-#if defined(__hppa)
+#if defined(__hpux)
hp_check_qpk();
if (pstat_getdynamic(&pst_dyn,sizeof(pst_dyn),1,0) == -1 ||
pstat_getstatic(&pst_stt,sizeof(pst_stt),1,0) == -1 ||
@@ -1490,7 +1490,7 @@ static void gen_tests (void)
if (flag_html) printf("</P>\n");
} else if (client == 0 && swap_mb && swap_mb < phys_mb) {
-#if defined(_AIX) || defined(__hppa) || defined(__sun)
+#if defined(_AIX) || defined(__hpux) || defined(__sun)
#else
if (flag_html) printf("<P>\n");
printf("%s: There is %dMB of physical memory but only %dMB of swap space.\n\n",
@@ -1545,7 +1545,7 @@ static void gen_tests (void)
-#if defined(__sun) || defined(__hppa) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
+#if defined(__sun) || defined(__hpux) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
static int ndd_get_tcp (char *a,long *vPtr)
{
@@ -1554,7 +1554,7 @@ static int ndd_get_tcp (char *a,long *vPtr)
#if defined(__sun)
sprintf(buf,"/usr/sbin/ndd /dev/tcp %s",a);
#else
-#if defined(__hppa)
+#if defined(__hpux)
sprintf(buf,"/usr/bin/ndd /dev/tcp %s",a);
#else
#if defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
@@ -1791,7 +1791,7 @@ static void sysconfig_tests (void)
}
#endif
-#if defined(__hppa)
+#if defined(__hpux)
#include <dirent.h>
#define HP_PATCH_DIR "/var/adm/sw/products"
@@ -2045,7 +2045,7 @@ static void sun_check_network_device(void)
}
#endif
-#if defined(__sun) || defined(__hppa) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
+#if defined(__sun) || defined(__hpux) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
static void ndd_tests (void)
{
@@ -2454,7 +2454,7 @@ static void ndd_tests (void)
}
#endif
-#if defined(__sun) || defined(__hppa)
+#if defined(__sun) || defined(__hpux)
if (1) {
if (ndd_get_tcp("tcp_deferred_ack_interval",&ndd_tcp_deferred_ack_interval) == 0) {
if (ndd_tcp_deferred_ack_interval > 5) {
@@ -2668,7 +2668,7 @@ static int check_fs_options(char *reqdir,char mntbuf[MAXPATHLEN])
mep = &m;
if (getmntent(fp,mep) != 0) break;
#else
-#if defined(__hppa) || defined(IDDS_LINUX_INCLUDE)
+#if defined(__hpux) || defined(IDDS_LINUX_INCLUDE)
mep = getmntent(fp);
if (mep == NULL) break;
#else
@@ -2708,7 +2708,7 @@ static int check_fs_options(char *reqdir,char mntbuf[MAXPATHLEN])
if (fp) fclose (fp);
-#if defined(__hppa)
+#if defined(__hpux)
if (found == 0) {
int largefile_missing = 0;
@@ -2904,7 +2904,7 @@ static void check_mem_size(int ro,char *rn)
}
if (m_change_needed) {
-#if defined(__hppa)
+#if defined(__hpux)
printf("NOTICE : use kmtune or sam Kernel Configuration Parameters to change the maxdsiz\nand maxdsiz_64bit parameters.\n");
#endif
printf("\n");
@@ -2937,7 +2937,7 @@ static void limits_tests(void)
printf("set rlim_fd_max=4096\n");
if (flag_html) printf("</PRE><P>\n");
#else
-#if defined(__hppa)
+#if defined(__hpux)
printf("Additional file descriptors,\nup to 60000, are available by editing /stand/system and regenerating the kernel.\n");
if (flag_html) printf("</P><PRE>\n");
printf("maxfiles_lim 4096\n");
@@ -2965,7 +2965,7 @@ static void limits_tests(void)
printf("WARNING: There are only %ld file descriptors (soft limit) available, which\nlimit the number of simultaneous connections. ",r.rlim_cur);
}
-#if defined(__sun) || defined(__hppa)
+#if defined(__sun) || defined(__hpux)
printf("Additional file descriptors,\nup to %ld (hard limit), are available by issuing \'ulimit\' (\'limit\' for tcsh)\ncommand with proper arguments.\n", r.rlim_max);
if (flag_html) printf("</P><PRE>\n");
printf("ulimit -n 4096\n");
@@ -3004,7 +3004,7 @@ static void limits_tests(void)
static void ids_get_platform(char *buf)
{
-#if defined(IDDS_LINUX_INCLUDE) || defined(__osf__) || defined(_AIX) || defined(__hppa) || defined(IDDS_BSD_INCLUDE)
+#if defined(IDDS_LINUX_INCLUDE) || defined(__osf__) || defined(_AIX) || defined(__hpux) || defined(IDDS_BSD_INCLUDE)
struct utsname u;
#endif
#if defined(_WIN32)
@@ -3013,13 +3013,13 @@ static void ids_get_platform(char *buf)
char osbuf[128];
#endif
-#if defined(__hppa) || defined(_AIX)
+#if defined(__hpux) || defined(_AIX)
char model[128];
char procstr[128];
char oslevel[128];
#endif
-#if defined(__hppa)
+#if defined(__hpux)
long cpuvers, cputype;
#endif
@@ -3106,7 +3106,7 @@ static void ids_get_platform(char *buf)
sprintf(buf,"%s-unknown-%s%s",
u.machine,u.sysname,u.release);
#else
-#if defined(__hppa)
+#if defined(__hpux)
uname(&u);
confstr(_CS_MACHINE_MODEL,model,128);
cpuvers = sysconf(_SC_CPU_VERSION);
@@ -3126,6 +3126,11 @@ static void ids_get_platform(char *buf)
case CPU_PA_RISC2_0:
sprintf(procstr,"hppa2.0/%d",cputype);
break;
+#if defined(__ia64)
+ case CPU_IA64_ARCHREV_0:
+ sprintf(procstr,"hpia0/%d",cputype);
+ break;
+#endif
default:
sprintf(procstr,"hppa_0x%x/%d",cpuvers,cputype);
break;
@@ -3299,11 +3304,11 @@ int main(int argc,char *argv[])
gen_tests();
-#if defined(__sun) || defined(__hppa) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
+#if defined(__sun) || defined(__hpux) || defined(IDDS_BSD_SYSCTL) || defined(IDDS_LINUX_SYSCTL)
ndd_tests();
#endif
-#if defined(__hppa)
+#if defined(__hpux)
hp_pthreads_tests();
#endif
diff --git a/lib/base/systhr.cpp b/lib/base/systhr.cpp
index d9b69521..134ae2b4 100644
--- a/lib/base/systhr.cpp
+++ b/lib/base/systhr.cpp
@@ -66,8 +66,11 @@ typedef struct {
#if defined (USE_NSPR)
-
+#if defined(__hpux) && defined(__ia64)
+#define DEFAULT_STACKSIZE (256*1024)
+#else
#define DEFAULT_STACKSIZE (64*1024)
+#endif
static unsigned long _systhr_stacksize = DEFAULT_STACKSIZE;
diff --git a/lib/ldaputil/init.c b/lib/ldaputil/init.c
index 935ec081..371d6972 100644
--- a/lib/ldaputil/init.c
+++ b/lib/ldaputil/init.c
@@ -56,7 +56,11 @@
#define FILE_PATHSEP '/'
#endif
#ifdef HPUX
+#ifdef __ia64
+#define DLL_SUFFIX ".so"
+#else
#define DLL_SUFFIX ".sl"
+#endif
#else
#define DLL_SUFFIX ".so"
#endif
diff --git a/nsarch b/nsarch
index 5fc4cca3..332ea0b0 100755
--- a/nsarch
+++ b/nsarch
@@ -467,6 +467,15 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
NS_RELEASE="${HPUX_REV}"
ns_printf
exit 0 ;;
+ ia64:HP-UX:*:*)
+ HP_ARCH=hpia
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ GNU_NAME="${HP_ARCH}-hp-hpux${HPUX_REV}"
+ NS_NAME="HPUX"
+ NS_PRETTY_NAME="HP-UX"
+ NS_RELEASE="${HPUX_REV}"
+ ns_printf
+ exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
diff --git a/nsconfig.mk b/nsconfig.mk
index 648f994f..3cfcaac5 100644
--- a/nsconfig.mk
+++ b/nsconfig.mk
@@ -272,6 +272,16 @@ else
NSCONFIG = $(NSOS_ARCH)$(NSOS_RELEASE)_$(NSOS_TEST1)_$(GCC_VERSION)
NSCONFIG_NOTAG = $(NSCONFIG)
else
+ ifeq ($(NSOS_ARCH),HP-UX)
+ NSOS_TEST1 := $(shell uname -m)
+ ifeq ($(NSOS_TEST1), ia64)
+ NSCONFIG = $(NSOS_ARCH)$(NSOS_RELEASE)_$(NSOS_TEST1)
+ NSCONFIG_NOTAG = $(NSOS_ARCH)$(NSOS_RELEASE_NOTAG)_$(NSOS_TEST1)
+ else
+ NSCONFIG = $(NSOS_ARCH)$(NSOS_RELEASE)
+ NSCONFIG_NOTAG = $(NSOS_ARCH)$(NSOS_RELEASE_NOTAG)
+ endif
+ else
ifeq ($(NSOS_TEST1),i86pc)
NSCONFIG = $(NSOS_ARCH)$(NSOS_RELEASE)_$(NSOS_TEST1)
NSCONFIG_NOTAG = $(NSOS_ARCH)$(NSOS_RELEASE_NOTAG)_$(NSOS_TEST1)
@@ -279,6 +289,7 @@ else
NSCONFIG = $(NSOS_ARCH)$(NSOS_RELEASE)
NSCONFIG_NOTAG = $(NSOS_ARCH)$(NSOS_RELEASE_NOTAG)
endif
+ endif
endif
endif
@@ -508,23 +519,50 @@ PEER_ARCH=bsdi
else
ifeq ($(ARCH), HPUX)
+ifeq ($(NSOS_TEST1), ia64)
+DLL_SUFFIX=so
+else
DLL_SUFFIX=sl
+endif
#-D_POSIX_C_SOURCE=199506L turns kernel threads on for HPUX11
CC=cc -Ae -D_POSIX_C_SOURCE=199506L
ifeq ($(BUILD_MODULE), HTTP_ADMIN)
+ifeq ($(NSOS_RELEASE),B.11.23)
+CXX=aCC -AP -DHPUX_ACC -D__STDC_EXT__ -D_POSIX_C_SOURCE=199506L -ext
+else
CXX=aCC -DHPUX_ACC -D__STDC_EXT__ -D_POSIX_C_SOURCE=199506L -ext
+endif
+else
+ifeq ($(NSOS_RELEASE),B.11.23)
+CXX=aCC -AP -DHPUX_ACC -D__STDC_EXT__ -D_POSIX_C_SOURCE=199506L -ext
else
CXX=aCC -DHPUX_ACC -D__STDC_EXT__ -D_POSIX_C_SOURCE=199506L -ext
endif
+endif
CCC=$(CXX)
ARCH_DEBUG=-g
+ifeq ($(NSOS_RELEASE),B.11.23)
+# optimization level changes actually is due to the aCC changes,
+# it is applicable to 11i v1 also, but conditional compile here
+# anyway.
+ARCH_OPT=+O3
+else
ARCH_OPT=-O
+endif
# Compile everything pos-independent in case we need to put it in shared lib
+ifeq ($(NSOS_RELEASE),B.11.23)
+ifdef USE_64
+ ARCH_CFLAGS=-D_HPUX_SOURCE +DD64 +DSblended +Z
+else
+ ARCH_CFLAGS=-D_HPUX_SOURCE +DD32 +DSblended +Z
+endif
+else
ifdef USE_64
ARCH_CFLAGS=-D_HPUX_SOURCE +DA2.0W +DS2.0 +Z
else
ARCH_CFLAGS=-D_HPUX_SOURCE +DAportable +DS1.1 +Z
endif
+endif
# NSPR uses fpsetmask which I'm told is in the math lib
EXTRA_LIBS= -ldld -lm
ifeq ($(NSOS_RELEASE), B.10.10)
@@ -543,6 +581,10 @@ ifeq ($(NSOS_RELEASE), B.11.11)
MODERNHP=1
endif
+ifeq ($(NSOS_RELEASE), B.11.23)
+ MODERNHP=1
+endif
+
ifeq ($(MODERNHP), 1)
ifeq ($(NSOS_RELEASE), B.11.00)
ARCH_CFLAGS+=-DHPUX11 -DHPUX11_00
@@ -550,6 +592,9 @@ endif
ifeq ($(NSOS_RELEASE), B.11.11)
ARCH_CFLAGS+=-DHPUX11 -DHPUX11_11
endif
+ifeq ($(NSOS_RELEASE), B.11.23)
+ ARCH_CFLAGS+=-DHPUX11 -DHPUX11_11
+endif
# Debug with HPUX "dde" - makes the server single process - avoids fork()ing.
# Can also be used for non HPUX if desired.
#ARCH_CFLAGS+=-DUSE_DDE_DEBUG
diff --git a/nsdefs.mk b/nsdefs.mk
index 8e21ada3..cbd3ce0f 100644
--- a/nsdefs.mk
+++ b/nsdefs.mk
@@ -53,6 +53,8 @@ else
BUILD_ARCH := $(shell $(BUILD_ROOT)/nsarch)
endif
+NSOS_TEST1 := $(shell uname -m)
+
USE_HCL=1
PUMPKIN_AGE := 120
@@ -79,6 +81,18 @@ endif
ifdef USE_64
NS64TAG=_64
+else
+ ifeq ($(BUILD_ARCH), HPUX)
+ ifeq ($(NSOS_TEST1),ia64)
+ NS64TAG=_32
+ endif
+ endif
+endif
+
+ifeq ($(BUILD_ARCH), HPUX)
+ ifeq ($(NSOS_TEST1),ia64)
+ NSOS_TEST1_TAG=_$(NSOS_TEST1)
+ endif
endif
# Check if we're on RHEL
@@ -209,7 +223,7 @@ RTSUFFIX=-d
endif
endif
endif
-BASIC_OBJDIR=$(BUILD_ROOT)/built/$(ARCH)$(NS64TAG)-$(SECURITY)-$(DEBUG)$(RTSUFFIX)-$(B_FORTEZZA)
+BASIC_OBJDIR=$(BUILD_ROOT)/built/$(ARCH)$(NSOS_TEST1_TAG)$(NS64TAG)-$(SECURITY)-$(DEBUG)$(RTSUFFIX)-$(B_FORTEZZA)
#
# -- Directory Server Section -----------------------------------------------
@@ -235,7 +249,7 @@ ifeq ($(findstring RHEL, $(BUILD_ARCH)), RHEL)
NS_BUILD_FLAVOR = $(BUILD_ARCH)$(NS64TAG)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
ARCHPROCESSOR = $(BUILD_ARCH)
else
- NS_BUILD_FLAVOR = $(ARCH)$(NS64TAG)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
+ NS_BUILD_FLAVOR = $(ARCH)$(NSOS_TEST1_TAG)$(NS64TAG)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
endif
NC_BUILD_FLAVOR = $(NSCONFIG)$(NSOBJDIR_TAG).OBJ
ifeq ($(ARCH), WINNT)
@@ -243,7 +257,7 @@ ifeq ($(PROCESSOR), ALPHA)
ARCHPROCESSOR=$(ARCH)$(PROCESSOR)
endif
endif
-COMMON_OBJDIR=$(BUILD_ROOT)/built/$(ARCHPROCESSOR)$(NS64TAG)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
+COMMON_OBJDIR=$(BUILD_ROOT)/built/$(ARCHPROCESSOR)$(NSOS_TEST1_TAG)$(NS64TAG)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
COMMON_OBJDIR_32=$(BUILD_ROOT)/built/$(ARCHPROCESSOR)-$(SECURITY)$(SSL_PREFIX)-$(DEBUG)$(RTSUFFIX)-$(BUILD_FORTEZZA)$(BUILD_PTHREADS)-$(DIR)
OBJDIR=$(COMMON_OBJDIR)
OBJDIR_32=$(COMMON_OBJDIR_32)