diff options
Diffstat (limited to 'hints')
-rw-r--r-- | hints/aix.sh | 5 | ||||
-rw-r--r-- | hints/dec_osf.sh | 2 | ||||
-rw-r--r-- | hints/freebsd.sh | 11 | ||||
-rw-r--r-- | hints/hpux.sh | 51 | ||||
-rw-r--r-- | hints/irix_6_2.sh | 25 | ||||
-rw-r--r-- | hints/netbsd.sh | 28 | ||||
-rw-r--r-- | hints/os2.sh | 192 | ||||
-rw-r--r-- | hints/sco.sh (renamed from hints/sco_3.sh) | 0 | ||||
-rw-r--r-- | hints/solaris_2.sh | 1 | ||||
-rw-r--r-- | hints/ultrix_4.sh | 6 |
10 files changed, 309 insertions, 12 deletions
diff --git a/hints/aix.sh b/hints/aix.sh index bca6eb7022..35fbb5ec39 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -43,7 +43,10 @@ scope_cflags='case "$osvers" in 4.1*) optimize=" ";; esac' # Changes for dynamic linking by Wayne Scott <wscott@ichips.intel.com> # # Tell perl which symbols to export for dynamic linking. -ccdlflags='-bE:perl.exp' +case "$cc" in +*gcc*) ccdlflags='-Xlinker -bE:perl.exp' ;; +*) ccdlflags='-bE:perl.exp' ;; +esac # The first 3 options would not be needed if dynamic libs. could be linked # with the compiler instead of ld. diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 85de7cb042..bfd235faaf 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -8,4 +8,4 @@ case "$optimize" in ;; esac ccflags="$ccflags -DSTANDARD_C" -lddlflags='-shared -expect_unresolved "*" -s' +lddlflags='-shared -expect_unresolved "*" -s -hidden' diff --git a/hints/freebsd.sh b/hints/freebsd.sh index 756ad78981..e11eb33242 100644 --- a/hints/freebsd.sh +++ b/hints/freebsd.sh @@ -70,3 +70,14 @@ esac # Avoid telldir prototype conflict in pp_sys.c (FreeBSD uses const DIR *) # Configure should test for this. Volunteers? pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' + +cat <<'EOM' + +Some users have reported that Configure halts when testing for +the O_NONBLOCK symbol with a syntax error. This is apparently a +sh error. Rerunning Configure with ksh apparently fixes the +problem. Try + ksh Configure [your options] + +EOM + diff --git a/hints/hpux.sh b/hints/hpux.sh index 27513ce196..626d069f18 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -13,6 +13,9 @@ # Use Configure -Dcc=gcc to use gcc. # Use Configure -Dprefix=/usr/local to install in /usr/local. +# Some users have reported problems with dynamic loading if the +# environment variable LDOPTS='-a archive' . + # Turn on the _HPUX_SOURCE flag to get many of the HP add-ons ccflags="$ccflags -D_HPUX_SOURCE" ldflags="$ldflags" @@ -40,6 +43,45 @@ EOM ;; esac +# Determine the architecture type of this system. +xxuname=`uname -r` +if echo $xxuname | $contains '10' +then + # This system is running 10.0 + xxcontext=`grep $(printf %#x $(getconf CPU_VERSION)) /usr/include/sys/unistd.h` + if echo "$xxcontext" | $contains 'PA-RISC1.1' + then + archname='PA-RISC1.1' + elif echo "$xxcontext" | $contains 'PA-RISC1.0' + then + archname='PA-RISC1.0' + elif echo "$xxcontext" | $contains 'PA-RISC2' + then + archname='PA-RISC2' + else + echo "This 10.0 system is of a PA-RISC type I don't recognize." + echo "Debugging output: $xxcontext" + archname='' + fi +else + # This system is not running 10.0 + xxcontext=`/bin/getcontext` + if echo "$xxcontext" | $contains 'PA-RISC1.1' + then + archname='PA-RISC1.1' + elif echo "$xxcontext" | $contains 'PA-RISC1.0' + then + archname='PA-RISC1.0' + elif echo "$xxcontext" | $contains 'HP-MC' + then + archname='HP-MC68K' + else + echo "I cannot recognize what chip set this system is using." + echo "Debugging output: $xxcontext" + archname='' + fi +fi + # Remove bad libraries that will cause problems # (This doesn't remove libraries that don't actually exist) # -lld is unneeded (and I can't figure out what it's used for anyway) @@ -71,13 +113,8 @@ d_bsdpgrp='define' # If your compile complains about FLT_MIN, uncomment the next line # POSIX_cflags='ccflags="$ccflags -DFLT_MIN=1.17549435E-38"' -# Comment these out if you don't want to follow the SVR4 filesystem layout +# Comment this out if you don't want to follow the SVR4 filesystem layout # that HP-UX 10.0 uses case "$prefix" in -'') prefix='/opt/perl5' - privlib='/opt/perl5/lib' - archlib='/opt/perl5/lib/hpux' - man3dir='/opt/perl5/man/man3' - ;; +'') prefix='/opt/perl5' ;; esac - diff --git a/hints/irix_6_2.sh b/hints/irix_6_2.sh new file mode 100644 index 0000000000..cbb08bbb2a --- /dev/null +++ b/hints/irix_6_2.sh @@ -0,0 +1,25 @@ +# irix_6_2.sh +# from Krishna Sethuraman, krishna@mit.edu +# Date: Tue Aug 22 00:38:26 PDT 1995 +# removed -ansiposix and -D_POSIX_SOURCE cuz it was choking + +# Perl built with this hints file under IRIX 6.2 passes +# all tests (`make test'). + +ld=ld +i_time='define' +cc="cc -32" +ccflags="$ccflags -D_BSD_TYPES -D_BSD_TIME -Olimit 3000" +#ccflags="$ccflags -Olimit 3000" # this line builds perl but not tk (beta 8) +lddlflags="-32 -shared" + +# We don't want these libraries. Anyone know why? +set `echo X "$libswanted "|sed -e 's/ socket / /' -e 's/ nsl / /' -e 's/ dl / /'` +shift +libswanted="$*" +# Don't need sun crypt bsd PW under 6.2. You *may* need to link +# with these if you want to run perl built under 6.2 on a 5.3 machine +# (I haven't checked) +#set `echo X "$libswanted "|sed -e 's/ sun / /' -e 's/ crypt / /' -e 's/ bsd / /' -e 's/ PW / /'` +#shift +#libswanted="$*" diff --git a/hints/netbsd.sh b/hints/netbsd.sh index 67cd95c2ad..24ffe15f73 100644 --- a/hints/netbsd.sh +++ b/hints/netbsd.sh @@ -1,17 +1,39 @@ # hints/netbsd.sh -# netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o, +# +# talk to mrg@eterna.com.au if you want to change this file. +# +# netbsd keeps dynamic loading dl*() functions in /usr/lib/crt0.o, # so Configure doesn't find them (unless you abandon the nm scan). +# this should be *just* 0.9 below as netbsd 0.9a was the first to +# introduce shared libraries. case "$osvers" in -0.9*|0.8*) +0.9|0.8*) usedl="$undef" ;; *) d_dlopen=$define d_dlerror=$define - cccdlflags="-DPIC -fpic $cccdlflags" +# we use -fPIC here because -fpic is *NOT* enough for some of the +# extensions like Tk on some netbsd platforms (the sparc is one) + cccdlflags="-DPIC -fPIC $cccdlflags" lddlflags="-Bforcearchive -Bshareable $lddlflags" +# netbsd has these but they don't really work as advertised. if they +# are defined, then there isn't a way to make perl call setuid() or +# setgid(). if they aren't, then ($<, $>) = ($u, $u); will work (same +# for $(/$)). this is because you can not change the real userid of +# a process under 4.4BSD. + d_setregid="$undef" + d_setreuid="$undef" + d_setrgid="$undef" + d_setruid="$undef" ;; esac # Avoid telldir prototype conflict in pp_sys.c (NetBSD uses const DIR *) # Configure should test for this. Volunteers? pp_sys_cflags='ccflags="$ccflags -DHAS_TELLDIR_PROTOTYPE"' + +case "$archname" in +'') + archname=`uname -m`-${osname} + ;; +esac diff --git a/hints/os2.sh b/hints/os2.sh new file mode 100644 index 0000000000..55766f7482 --- /dev/null +++ b/hints/os2.sh @@ -0,0 +1,192 @@ +# Problems: +# a) warning from fcntl: Third argument is int in emx - patched +# b) gr_password is not a structure in struct group - patched +# c) (gone) +# d) Makefile needs sh before ./makedir +# e) (gone) +# f) (gone) +# g) (gone) +# h) (gone) +# i) (gone) +# j) the rule true in Makefile should become sh -c true +# k) Cwd does not work. ===> the extensions cannot be compiled - patched +# l) TEST expects to get -e 'perl' - patched +# m) (gone) + +# Tests failing with .o compile (this is probably obsolete, but now it is .obj): + +# comp/cpp (because of sed above) +# io/fs.t : (patched) 2..5 7..11 18 (why 11?) +# io/inplace.t ???? (ak works) +# io/tell.t 10 ???? +# op/exec.t 1 ???? 4 ???? +# op/glob.t 1 (bug in sh) +# op/magic.t 4 1/2 (????) adding sleep 5 does not help +# op/readdir.t 3 (same bug in ksh) +# op/stat.t 3 4 9 10 20 >34 + +# Newer results with .obj without i/o optimization, fail: + +# io/fs.t : 2+ +# io/pipe.t : 1+ +# io/tell.t : 8, 10 +# op/exec.t : 4, 6 (ok 1 comes as "ok \1") +# op/fork.t : 1+ +# op/misc.t : 9 +# op/pack.t : 8 +# op/stat.t : 3 4 9 10 20 >34 +# lib/sdbm.t : sdbm store returned -1, errno 0, key "21" at lib/sdbm.t line 112. +# lib/posix.t : coredump on 3 + +# If compiled with i/o optimization, then 15% speedup on input, and +# io/tell.t : 11 only +# no coredump in posix.t + + +# Note that during the .obj compile you need to move the perl.dll file +# to LIBPATH :-( + +#osname="OS/2" +sysman=`../UU/loc . /man/man1 /usr/man/man1 c:/man/man1 c:/usr/man/man1` +cc='gcc' +usrinc='/emx/include' +libpth='/emx/lib/st /emx/lib' + +so='dll' + +# Additional definitions: + +d_shrplib='define' +firstmakefile='GNUmakefile' +obj_ext='.obj' +obj_ext_regexp='\.obj' +lib_ext='.lib' +ar='emxomfar' +plibext='.lib' +exe_ext='.exe' +archobjs="os2$obj_ext" +cldlibs='' + +libc="/emx/lib/st/c_import$lib_ext" + +# otherwise puts -lc ??? + +libs='-lsocket -lm' + +# Run files without extension with sh - feature of patched ksh +NOHASHBANG=sh + +cccdlflags='-Zdll' +dlsrc='dl_os2.xs' +lddlflags='-Zdll -Zomf -Zcrtdll' +ldflags='-Zexe -Zomf -Zcrtdll' +ld='gcc' +usedl='define' +ccflags='-Zomf -DDOSISH -DOS2=2 -DEMBED -I.' +cppflags='-DDOSISH -DOS2=2 -DEMBED -I.' + +# This variables taken from recommended config.sh +alignbytes='8' + +d_fork='undef' + +# for speedup: (some patches to ungetc are also needed): +# Note that without this guy tests 8 and 10 of io/tell.t fail, with it 11 fails + +d_stdstdio='define' +d_stdiobase='define' +d_stdio_ptr_lval='define' +d_stdio_cnt_lval='define' +stdio_ptr='((fp)->ptr)' +stdio_cnt='((fp)->rcount)' +stdio_base='((fp)->buffer)' +stdio_bufsiz='((fp)->rcount + (fp)->ptr - (fp)->buffer)' + + +# I do not have these: +#dynamic_ext='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL' +dynamic_ext='Fcntl POSIX Socket SDBM_File Devel/DProf' +#extensions='Fcntl GDBM_File SDBM_File POSIX Socket UPM REXXCALL' +extensions='Fcntl SDBM_File POSIX Socket Devel/DProf' + +# To have manpages installed +echo nroff is "'$nroff'" +nroff='nroff.cmd' +_nroff='nroff.cmd' +echo nroff is "'$nroff'" + +# Unknown reasons for: +#cpio='cpio' +#csh='' +#date='' +#byacc='' +#d_charsprf='undef' +#d_drem='undef' +#d_fmod='define' +#d_linuxstd='undef' +#d_socket='define' +#gcc='gcc' +#gidtype='gid_t' +#glibpth='c:/usr/lib/emx h:/emx/lib /emx/lib' +#groupstype='gid_t' +#h_fcntl='true' +#i_time='define' +#line='' +#lseektype='off_t' +#man1ext='1' +#man3ext='3' +#modetype='mode_t' +#more='more' +#mv='mv' +#sleep='sleep' +#socketlib='-lsocket' +#ssizetype='ssize_t' +#tar='tar' +#timetype='time_t' +#uidtype='uid_t' +#uname='' +#uniq='' +#xlibpth='' +#yacc='yacc' +#yaccflags='' +#zcat='zcat' +#orderlib='false' +#pg='pg' +#pr='pr' +#ranlib=':' + +# Misfound by configure: + +#gcc='gcc' +#more='more' +#mv='mv' +#pr='pr' +#sleep='sleep' +#tar='tar' + +xlibpth='' + +# I cannot stand it, but did not test with: +# d_dirnamlen='undef' + +# I try to do without these: + +#d_pwage='undef' +#d_pwcomment='undef' + +ln='cp' +lns='cp' + +# ???? +#mallocobj='' +#mallocsrc='' +#usemymalloc='false' + +nm_opt='-p' + +# The next two are commented. pdksh handles #! +# sharpbang='extproc ' +# shsharp='false' + +# Commented: +#startsh='extproc ksh\\n#! sh' diff --git a/hints/sco_3.sh b/hints/sco.sh index daf3aec008..daf3aec008 100644 --- a/hints/sco_3.sh +++ b/hints/sco.sh diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index 0193bd4a1c..06abe32d7f 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -128,6 +128,7 @@ case "`${cc:-cc} -v 2>&1`" in # Get gcc to share its secrets. echo 'main() { return 0; }' > try.c verbose=`${cc:-cc} -v -o try try.c 2>&1` + rm -f try try.c tmp=`echo "$verbose" | grep '^Reading' | awk '{print $NF}' | sed 's/specs$/include/'` diff --git a/hints/ultrix_4.sh b/hints/ultrix_4.sh index 3f96a668e1..e00450792d 100644 --- a/hints/ultrix_4.sh +++ b/hints/ultrix_4.sh @@ -9,6 +9,12 @@ case "$optimize" in '') optimize=-g ;; esac +# Some users have reported Configure runs *much* faster if you +# replace all occurences of /bin/sh by /bin/sh5 +# Something like: +# sed 's!/bin/sh!/bin/sh5!g' Configure > Configure.sh5 +# Then run "sh5 Configure.sh5 [your options]" + case "$myuname" in *risc*) cat <<EOF Note that there is a bug in some versions of NFS on the DECStation that |