summaryrefslogtreecommitdiff
path: root/hints
diff options
context:
space:
mode:
authorLarry Wall <lwall@sems.com>1996-08-10 15:24:58 +0000
committerLarry Wall <lwall@sems.com>1996-08-10 15:24:58 +0000
commit760ac839baf413929cd31cc32ffd6dba6b781a81 (patch)
tree010ae8135426972c27b065782284341c839dc2a0 /hints
parent43cc1d52f97c5f21f3207f045444707e7be33927 (diff)
downloadperl-760ac839baf413929cd31cc32ffd6dba6b781a81.tar.gz
perl 5.003_02: [no incremental changelog available]
Diffstat (limited to 'hints')
-rw-r--r--hints/README.NeXT56
-rw-r--r--hints/next_3.sh46
-rw-r--r--hints/next_3_2.sh64
-rw-r--r--hints/next_3_3.sh69
-rw-r--r--hints/next_4.sh46
-rw-r--r--hints/os2.sh40
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