than ".so". The old extension conflicted with well-established
naming conventions for dynamically loadable modules.
The "clean" targets continue to remove ".so" files too, to deal with
old systems.
o make install ; make install now works
o make all ; make all is quiet the second time
o Dependancies are properliy debugged; this means that make -jN has a
far hihjer likelyhood of working.
o a proper 'link farm' has been constructed for the build. This
dramatically simplifies the dependancy tangle.
o for perldoc's use, all the .pod files are installed.
o the man3 docs are properly compressed.
o the man pages and libary code are installed by the makefiles, not
by a perl script.
o at the end, h2ph is run.
shared versions should not need to add -lm unless the program uses libm
itself. Strictly speaking, libg++ depends on libstdc++, but libstdc++
has dynamic dependencies on some exception tables and binutils doesn't
seem to like it when a secondary library has undefined references. It
doesn't seem to care when -lstdc++ is added on the command line to ld
though. Anyway, the c++ driver adds -lstdc++ explicitly, so that should
be OK. c++ also adds -lm explicitly too, even though it wouldn't need
to now. [except for statically linked binaries as .a files don't have an
equivalent of automatic internal shared object dependencies.]
are installed in the same place as on 2.2.*; this will almost
certainly change in the future.
While I'm here, finish off the shared library brouhaha with miniperl.
shamefully dropped on the floor. I need to add it now since it does a
minor number bump, but otherwise the current functionality of libdialog
is unchanged (in all its evil glory) and the change is non-intrusive.
Submitted by: "Anatoly A. Orehovsky" <tolik@mpeks.tomsk.su>
1) Part of the NOSHARED fix; I messed this up and managed to get
perl installed without being linked to the shared library libperl.so.
This broke Perl in ELF when linking in shared objects.
2) Start of a cleanup of the man3 page location. This will (eventually)
allow for a the ports to put their pages in the "normal" ${PREFIX}-
based location.
3) Nuke cruft.
1) Inspired by JB's finding of a hardcoded /usr/bin/ranlib in the
config files, these have been properly cleaned up and have
been personalised for FreeBSD, not MarkM.
2) Inspired by Peter, copying of the lib/ext etc dirs has been
replaced by a link farm.
3) Common code has been moved to a higher-level Makefile.inc.
This has been tested with a make -j8.
Remove the /usr/bin path to ranlib and just let the build environment
set the path. Running an aout version of ranlib on an elf library
is something we'd prefer not to do. I'm surprised that the build
didn't spit any errors when it did this. Shrug.
1) Fix up the NOSHARED stuff (bde)
2) Accomodate CFLAGS (vanilla)
3) Provide separate files for i386 and alpha (Doug Rabson)
In case 3, the supplied files were corrupted, but the concepts
sound enough, so I just copied what exists into
config.SH-{elf|aout}.{i386|alpha}. Alpha team, go ahead and do what
is necessary on config.SH-elf.alpha. :-)
(Tested by make -j12 buildworld on a 4-cpu SMP box).
Address (but not solve) ELF shareable objects causing perl to
dump core. (I have a heck of a lot to learn about ELF).
Lots of help by: bde, jkh, jb and others