diff options
author | Larry Wall <lwall@sems.com> | 1996-08-10 15:24:58 +0000 |
---|---|---|
committer | Larry Wall <lwall@sems.com> | 1996-08-10 15:24:58 +0000 |
commit | 760ac839baf413929cd31cc32ffd6dba6b781a81 (patch) | |
tree | 010ae8135426972c27b065782284341c839dc2a0 /hints | |
parent | 43cc1d52f97c5f21f3207f045444707e7be33927 (diff) | |
download | perl-760ac839baf413929cd31cc32ffd6dba6b781a81.tar.gz |
perl 5.003_02: [no incremental changelog available]
Diffstat (limited to 'hints')
-rw-r--r-- | hints/README.NeXT | 56 | ||||
-rw-r--r-- | hints/next_3.sh | 46 | ||||
-rw-r--r-- | hints/next_3_2.sh | 64 | ||||
-rw-r--r-- | hints/next_3_3.sh | 69 | ||||
-rw-r--r-- | hints/next_4.sh | 46 | ||||
-rw-r--r-- | hints/os2.sh | 40 |
6 files changed, 175 insertions, 146 deletions
diff --git a/hints/README.NeXT b/hints/README.NeXT new file mode 100644 index 0000000000..3e1a461913 --- /dev/null +++ b/hints/README.NeXT @@ -0,0 +1,56 @@ +OPENSTEP +-------- + +Support for OPENSTEP was added. Perl will build with as shared library. To build and install it, use this sequence: + +cd <wherever your perl source is> +sh Configure -des +DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH +make +make test +make install + + +Depending on your shell, you might have to use + + setenv DYLD_LIBRARY_PATH `pwd` + +instead of + + DYLD_LIBRARY_PATH=`pwd`; export DYLD_LIBRARY_PATH + +Note: +During compilation/linking there are going to be some warnings, they do not seem to have any ill effects. + +Perl is going to be installed below the path /usr/local/OPENSTEP. This is done so that binaries for NEXTSTEP (3.2, 3.3 etc) will not be overwritten, since the OPENSTEP binaries will not work on those systems. Below is a part of my .zshrc file, that makes sure that the new OPENSTEP binaries are used on OPENSTEP: + +############################## +if(fgrep -s 'OPENSTEP 4.' /usr/lib/NextStep/software_version ) +then +path=(. /etc /usr/etc ~/Unix/bin /usr/local/OPENSTEP/bin /usr/local/bin /usr/local/netpbm/bin /usr/ucb /bin /usr/bin /usr/sybase/bin ~/Apps /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) +else +path=(. /etc /usr/etc ~/Unix/bin /usr/local/bin /usr/local/netpbm/bin /usr/ucb /bin /usr/bin /usr/sybase/bin ~/Apps /LocalApps /NextApps /NextAdmin /NextDeveloper/Demos) +fi +############################## + +You can change the installation path by changing 'prefix' in hints/next_4.sh before you run Configure. + + + +NEXTSTEP +-------- + +The hints file for NEXTSTEP (hints/next_3.sh) was changed: + +- Support for MAB was added +- perl's malloc is used now; this should take care of some problems with NEXTSTEP 3.2 + +perl should build and install fine with this sequence: + +cd <wherever your perl source is> +sh Configure -des +make +make test +make install + + diff --git a/hints/next_3.sh b/hints/next_3.sh index e9f616a3f3..38ad0ec7cc 100644 --- a/hints/next_3.sh +++ b/hints/next_3.sh @@ -1,11 +1,12 @@ -# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE> -# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and -# improvements welcome! +# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE>, +# Andreas Koenig <k@franz.ww.TU-Berlin.DE> and Gerd Knops <gerti@BITart.com>. +# Comments, questions, and improvements welcome! # # These hints work for NeXT 3.2 and 3.3. 3.0 has it's own # special hint file. +# -ccflags='-DUSE_NEXT_CTYPE' +ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' POSIX_cflags='ccflags="-posix $ccflags"' ldflags='-u libsys_s' libswanted='dbm gdbm db' @@ -15,7 +16,12 @@ lddlflags='-nostdlib -r' # using GNU cc and try to specify -fpic for cccdlflags. cccdlflags=' ' +# +# Change the line below if you do not want to build 'quad-fat' +# binaries +# mab='-arch m68k -arch i386 -arch hppa -arch sparc' + archname='next-fat' ld='cc' @@ -23,20 +29,48 @@ i_utime='undef' groupstype='int' direntrytype='struct direct' d_strcoll='undef' + +###################################################################### +# THE MALLOC STORY +###################################################################### +# 1994: # the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails # with Larry's malloc on NS 3.2 due to broken sbrk() -usemymalloc='n' +# +# setting usemymalloc='n' was the solution back then. Later came +# reports that perl would run unstable on 3.2: +# +# From about perl5.002beta1h perl became unstable on the +# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were +# reports, that the developer version of 3.3 didn't have problems, so it +# seemed pretty obvious that we had to work around an malloc bug in 3.2. +# This hints file reflects a patch to perl5.002_01 that introduces a +# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This +# sbrk makes it possible to run perl with its own malloc. Thanks to +# Ilya who showed me the way to his sbrk for OS/2!! +# andreas koenig, 1996-06-16 +# +# So, this hintsfile is using perl's malloc. If you want to turn perl's +# malloc off, you need to change remove '-DUSE_PERL_SBRK' and +# '-DHIDEMYMALLOC' from the ccflags above and set usemymalloc below +# to 'n'. +# +###################################################################### +usemymalloc='y' + d_uname='define' d_setpgid='define' d_setsid='define' d_tcgetpgrp='define' d_tcsetpgrp='define' + # # On some NeXT machines, the timestamp put by ranlib is not correct, and # this may cause useless recompiles. Fix that by adding a sleep before # running ranlib. The '5' is an empirical number that's "long enough." -# (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>) +# ranlib='sleep 5; /bin/ranlib' + # # There where reports that the compiler on HPPA machines # fails with the -O flag on pp.c. diff --git a/hints/next_3_2.sh b/hints/next_3_2.sh deleted file mode 100644 index 37bbf1694b..0000000000 --- a/hints/next_3_2.sh +++ /dev/null @@ -1,64 +0,0 @@ -# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE> -# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and -# improvements welcome! -# -# These hints are intended for NeXT 3.2. - -# From about perl5.002beta1h perl became unstable on the -# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were -# reports, that the developer version of 3.3 didn't have problems, so it -# seemed pretty obvious that we had to work around an malloc bug in 3.2. -# This hints file reflects a patch to perl5.002_01 that introduces a -# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This -# sbrk makes it possible to run perl with its own malloc. Thanks to -# Ilya who showed me the way to his sbrk for OS/2!! -# andreas koenig, 1996-06-16 - -ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' -POSIX_cflags='ccflags="-posix $ccflags"' -ldflags='-u libsys_s' -libswanted='dbm gdbm db' - -lddlflags='-r' -# Give cccdlflags an empty value since Configure will detect we are -# using GNU cc and try to specify -fpic for cccdlflags. -cccdlflags=' ' - -i_utime='undef' -groupstype='int' -direntrytype='struct direct' -d_strcoll='undef' - -# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails -# with Larry's malloc on NS 3.2 due to broken sbrk() -###################################################################### -# above comment should stay here, but is not longer of importance # -# with -DUSE_PERL_SBRK and -DHIDEMYMALLOC we can now say 'yes' to # -# usemymalloc. We call this hintsfile next_3_2.sh, so folks with 3.3 # -# can decide what they prefer. Actually folks with 3.3 "user" version# -# will also need this hintsfile, but how can I discern which 3.3 it # -# is? # -###################################################################### -usemymalloc='y' - -d_uname='define' -d_setpgid='define' -d_setsid='define' -d_tcgetpgrp='define' -d_tcsetpgrp='define' - -# -# On some NeXT machines, the timestamp put by ranlib is not correct, and -# this may cause useless recompiles. Fix that by adding a sleep before -# running ranlib. The '5' is an empirical number that's "long enough." -# -ranlib='sleep 5; /bin/ranlib' - - -# -# There where reports that the compiler on HPPA machines -# fails with the -O flag on pp.c. -# -if [ `arch` = "hppa" ]; then -pp_cflags='optimize="-g"' -fi diff --git a/hints/next_3_3.sh b/hints/next_3_3.sh deleted file mode 100644 index e5dc1fd308..0000000000 --- a/hints/next_3_3.sh +++ /dev/null @@ -1,69 +0,0 @@ -# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE> -# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and -# improvements welcome! -# - -# These hints are intended for NeXT 3.3. If you're running the 3.3 -# "user" version of the NeXT OS, you should not change the malloc -# related hints (USE_PERL_SBRK, HIDEMYMALLOC, usemymalloc). If you're -# running the 3.3 "dev" version of the OS, I do not know what to -# recommend (I have no 3.3 dev). - -# From about perl5.002beta1h perl became unstable on the -# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were -# reports, that the developer version of 3.3 didn't have problems, so it -# seemed pretty obvious that we had to work around an malloc bug in 3.2. -# This hints file reflects a patch to perl5.002_01 that introduces a -# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This -# sbrk makes it possible to run perl with its own malloc. Thanks to -# Ilya who showed me the way to his sbrk for OS/2!! -# andreas koenig, 1996-06-16 - -ccflags='-DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' -POSIX_cflags='ccflags="-posix $ccflags"' -ldflags='-u libsys_s' -libswanted='dbm gdbm db' - -lddlflags='-r' -# Give cccdlflags an empty value since Configure will detect we are -# using GNU cc and try to specify -fpic for cccdlflags. -cccdlflags=' ' - -i_utime='undef' -groupstype='int' -direntrytype='struct direct' -d_strcoll='undef' - -# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails -# with Larry's malloc on NS 3.2 due to broken sbrk() -###################################################################### -# above comment should stay here, but is not longer of importance # -# with -DUSE_PERL_SBRK and -DHIDEMYMALLOC we can now say 'yes' to # -# usemymalloc. We call this hintsfile next_3_2.sh, so folks with 3.3 # -# can decide what they prefer. Actually folks with 3.3 "user" version# -# will also need this hintsfile, but how can I discern which 3.3 it # -# is? # -###################################################################### -usemymalloc='y' - -d_uname='define' -d_setpgid='define' -d_setsid='define' -d_tcgetpgrp='define' -d_tcsetpgrp='define' - -# -# On some NeXT machines, the timestamp put by ranlib is not correct, and -# this may cause useless recompiles. Fix that by adding a sleep before -# running ranlib. The '5' is an empirical number that's "long enough." -# -ranlib='sleep 5; /bin/ranlib' - - -# -# There where reports that the compiler on HPPA machines -# fails with the -O flag on pp.c. -# -if [ `arch` = "hppa" ]; then -pp_cflags='optimize="-g"' -fi diff --git a/hints/next_4.sh b/hints/next_4.sh index 0e6b7e0271..70438dd4a2 100644 --- a/hints/next_4.sh +++ b/hints/next_4.sh @@ -1,4 +1,4 @@ -# Posix support has been removed from NextStep, expect test/POSIX to fail +###################################################################### # # IMPORTANT: before you run 'make', you need to enter one of these two # lines (depending on your shell): @@ -6,6 +6,10 @@ # or # setenv DYLD_LIBRARY_PATH `pwd` # +###################################################################### + +# Posix support has been removed from NextStep +# useposix='undef' altmake='gnumake' @@ -14,18 +18,28 @@ libswanted=' ' libc='/NextLibrary/Frameworks/System.framework/System' isnext_4='define' + +# +# Change the line below if you do not want to build 'quad-fat' +# binaries +# mab='-arch m68k -arch i386 -arch sparc' ldflags='-dynamic -prebind' lddlflags='-dynamic -bundle -undefined suppress' -ccflags='-dynamic -fno-common -DUSE_NEXT_CTYPE' +ccflags='-dynamic -fno-common -DUSE_NEXT_CTYPE -DUSE_PERL_SBRK -DHIDEMYMALLOC' cccdlflags='none' ld='cc' -optimize='-g -O' +#optimize='-g -O' d_shrplib='define' dlext='bundle' so='dylib' +# +# The default prefix would be '/usr/local'. But since many people are +# likely to have still 3.3 machines on their network, we do not want +# to overwrite possibly existing 3.3 binaries. +# prefix='/usr/local/OPENSTEP' #archlib='/usr/lib/perl5' #archlibexp='/usr/lib/perl5' @@ -37,9 +51,33 @@ i_utime='undef' groupstype='int' direntrytype='struct direct' +###################################################################### +# THE MALLOC STORY +###################################################################### +# 1994: # the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails # with Larry's malloc on NS 3.2 due to broken sbrk() -usemymalloc='n' +# +# setting usemymalloc='n' was the solution back then. Later came +# reports that perl would run unstable on 3.2: +# +# From about perl5.002beta1h perl became unstable on the +# NeXT. Intermittent coredumps were frequent on 3.2 OS. There were +# reports, that the developer version of 3.3 didn't have problems, so it +# seemed pretty obvious that we had to work around an malloc bug in 3.2. +# This hints file reflects a patch to perl5.002_01 that introduces a +# home made sbrk routine (remember, NeXT's sbrk _never_ worked). This +# sbrk makes it possible to run perl with its own malloc. Thanks to +# Ilya who showed me the way to his sbrk for OS/2!! +# andreas koenig, 1996-06-16 +# +# So, this hintsfile is using perl's malloc. If you want to turn perl's +# malloc off, you need to change remove '-DUSE_PERL_SBRK' and +# '-DHIDEMYMALLOC' from the ccflags above and set usemymalloc below +# to 'n'. +# +###################################################################### +usemymalloc='y' clocktype='int' # diff --git a/hints/os2.sh b/hints/os2.sh index 1652cb7b2e..91138f4f22 100644 --- a/hints/os2.sh +++ b/hints/os2.sh @@ -16,6 +16,8 @@ bin_sh=`../UU/loc sh.exe /bin c:/bin d:/bin e:/bin f:/bin g:/bin h:/bin /bin` echo "####### Shell found at $bin_sh #############" >&4 +sh="$bin_sh" +startsh="#!$bin_sh" #osname="OS/2" sysman=`../UU/loc . /man/man1 c:/man/man1 c:/usr/man/man1 d:/man/man1 d:/usr/man/man1 e:/man/man1 e:/usr/man/man1 f:/man/man1 f:/usr/man/man1 g:/man/man1 g:/usr/man/man1 /usr/man/man1` @@ -74,10 +76,10 @@ else ar='emxomfar' plibext='.lib' d_fork='undef' - lddlflags='-Zdll -Zomf -Zcrtdll' + lddlflags='-Zdll -Zomf -Zmt -Zcrtdll' # Recursive regmatch may eat 2.5M of stack alone. - ldflags='-Zexe -Zomf -Zcrtdll -Zstack 32000' - ccflags='-Zomf -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DDEBUGGING_MSTATS' + ldflags='-Zexe -Zomf -Zmt -Zcrtdll -Zstack 32000' + ccflags='-Zomf -Zmt -DDOSISH -DOS2=2 -DEMBED -I. -DPACK_MALLOC -DDEBUGGING_MSTATS' use_clib='c_import' usedl='define' fi @@ -162,3 +164,35 @@ d_setprior='define' # Commented: #startsh='extproc ksh\\n#! sh' + +# Now install the external modules. We are in the ./hints directory. + +cd ../os2/OS2 + +if ! test -d ../../ext/OS2 ; then + mkdir ../../ext/OS2 +fi + +cp -rfu * ../../ext/OS2/ + +# Install tests: + +for xxx in * ; do + if $test -d $xxx/t; then + cp -uf $xxx/t/*.t ../../t/lib + else + if $test -d $xxx; then + cd $xxx + for yyy in * ; do + if $test -d $yyy/t; then + cp -uf $yyy/t/*.t ../../t/lib + fi + done + cd .. + fi + fi +done + + +# Now go back +cd ../../hints |