summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-18 03:44:04 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-01-18 03:44:04 +0000
commitecfc54246c2a6f42dc95b17a964a6048192067d2 (patch)
treedbdb3a3ef6833cef5bc3644948b9d157c0ce00ca /README
parent5f51ce503c8828daeb43446f6dff8a13c393fe19 (diff)
downloadperl-ecfc54246c2a6f42dc95b17a964a6048192067d2.tar.gz
perl5.000 patch.0g: [various portability fixes, and use latest metaconfig for Configure]
This patch incorporates various portability fixes and uses the latest metaconfig to generate Configure (and config_h.SH). It would take a long time to summarize all that I've changed. I haven't included many code changes because I'm trying *not* to duplicate bug fixes Larry may already have applied. Here's an older description I prepared that's still mostly accurate: I've also included a few portability fixes in the main source, but these are certainly not a complete set of everything that's been reported. Don't be put off by the size of the patch. Mostly, it's just rearrangement of the parts in Configure and some cosmetic changes. Since gcc often supports long long, I had started to add quad support to Configure. Since SunOS 4.1.3 defines a conflicting "quad" structure, I changed the name from 'quad' to Quad_t, consistent with other Configure "types." I also changed "QUAD" to "HAS_QUAD". However, it turns out it's pretty hard to actually *use* Quad_t. Neither system I have access to can sprintf() a "long long", nor can they carry one around in an IV, unless I make IV "long long", which I didn't want to force generally. Thus I wonder whether any but a precious few could actually use Quad_t, and dropped the tests from Configure. I left in the s/quad/Quad_t/ and s/QUAD/HAS_QUAD/ stuff in case someone else wants to pick it up, and also because I was too lazy to take it back out :-). Some highlights: Configure Several new options. Use Configure -h to learn more. Also, read the directions Configure prints. :-) Spaces now allowed in -D command line options. New -O option that overrides config.sh. You can start interactively and then change that to accepting all the defaults by specifying &-d at any Configure prompt. This is useful if you have to re-run Configure to only change a few settings. Signal type set correctly for the cast{i32,neg} tests. archname detection improved a bit guard against ksh users who have set -u Oldconfig.U cleaned up and regularized a bit more. Guard against hint files using (and over-writing) $tmp. Command line options now are processed after metaconfig INIT lines. Thus things like Configure -Uuseposix should work now. Various miscellaneous clean-ups. better use/detection of tr. i_db.U now checks for hash and prefix type (I think!) I can't test it here. i_?db*.U now all check for an associated function before deciding to include or not the header. MANIFEST MANIFEST.new Sorted & updated. Makefile.SH Some shells/makes bombed out on test -d lib/auto || mkdir lib/auto Use makedir instead. README Some additional notes that people won't read :-). cflags.SH Now calls $startsh. Weird things were happening on Intergraph, and this might be related. config.H Updated. config_h.SH Regenerated. deb.c Varargs dependencies on STANDARD_C replaced by I_STDARG. doop.c quad stuff. ext/DB_File/DB_File.xs Use the new DB_Hash_t and DB_Prefix_t symbols. ext/SDBM_File/sdbm/sdbm.h Fix #defines to be more robust. mg.c Replace VOIDSIG by metaconfig's Signal_t. opcode.h opcode.pl semop only takes 2 arguments, not 3. perl.c Better guard on getenv() prototype. A hint file can use this, if necessary. Me, I think some compilers are just too picky. perl.h The (very) beginnings of some Quad support. See above. Remove the very troublesome sprintf() prototype. Since we don't _use_ the return value anyway (since it's not portable) this should be o.k. The problem was that some systems CAN_PROTOTYPE but include char *sprintf(); in <stdio.h>. That's incompatible with the version we used to have in perl.h. Most people have a prototype for sprintf() in <stdio.h>. Those that don't probably can get by without it anyway. Protect the timesbuf by the specific HAS_TIMES test. Some older gcc-2.something/Solaris 2.something installations apparently don't have times. pp.c More quad stuff. pp_ctl.c s/STANDARD_C/I_STDARG/ for varargs stuff. pp_sys.c use Signal_t. proto.h Update to match new metaconfig names. util.c s/STANDARD_C/I_STDARG/ for varargs stuff. comment out <unistd.h>. A pause prototype was causing problems on some systems. vms/config.vms Changed to use Signal_t.
Diffstat (limited to 'README')
-rw-r--r--README9
1 files changed, 7 insertions, 2 deletions
diff --git a/README b/README
index d9a97c7b24..31e6de3bcb 100644
--- a/README
+++ b/README
@@ -69,11 +69,13 @@ Installation
config.sh, and Makefile. You may have to explicitly say
sh Configure to ensure that Configure is run under sh.
If you're a hotshot, run Configure -d to take all the defaults and
- then edit config.sh to patch up any flaws.
+ then edit config.sh to patch up any flaws and run Configure -S.
Configure supports a number of useful options. Run Configure -h
to get a listing. To compile with gcc, for example, you can run
- Configure -Dcc=gcc, or answer 'gcc' at the cc prompt.
+ Configure -Dcc=gcc, or answer 'gcc' at the cc prompt. If you
+ change compilers or make other significant changes, you should
+ probably _not_ re-use your old config.sh.
By default, perl will be installed in /usr/local/{bin, lib, man}.
You can specify a different prefix for the default installation
@@ -148,6 +150,9 @@ Installation
If you get duplicates upon linking for malloc et al, say -DHIDEMYMALLOC.
If you get duplicate function definitions (a perl function has the
same name as another function on your system) try -DEMBED.
+ If you get varags problems with gcc, be sure that gcc is installed
+ correctly. When using gcc, you should probably have i_stdarg='define'
+ and i_varags='undef' in config.sh.
5) make test