diff options
Diffstat (limited to 'lang/modula-3-lib/files/patch-ah')
-rw-r--r-- | lang/modula-3-lib/files/patch-ah | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/lang/modula-3-lib/files/patch-ah b/lang/modula-3-lib/files/patch-ah new file mode 100644 index 000000000000..c0f1f209fcde --- /dev/null +++ b/lang/modula-3-lib/files/patch-ah @@ -0,0 +1,210 @@ +Update the m3build templates for FreeBSD-2.1 and later. + +Index: m3/m3build/templates/COMMON +--- COMMON.orig Fri Feb 9 14:23:04 1996 ++++ COMMON Fri Oct 25 13:48:57 1996 +@@ -998,7 +998,7 @@ + if HAVE_PKGTOOLS + _install_file (src, dest, "0755", "T") + else +- local target = format ("%s%s%s%s%s%s%s", PKG_USE, SL, BUILD_PACKAGE, ++ local target = format ("%s%s%s%s%s%s%s", LIB_TO_PKG, SL, BUILD_PACKAGE, + SL, BUILD_DIR, SL, src) + local link = format ("%s%s%s", dest, SL, src) + >> M3SHIP_FILE in +Index: m3/m3build/templates/FreeBSD2 +--- FreeBSD2.orig Thu Jun 20 12:17:07 1996 ++++ FreeBSD2 Fri Oct 25 13:47:16 1996 +@@ -8,8 +8,9 @@ + % Modified On Thu Apr 8 13:45:49 PDT 1993 by muller + % + % Sun Nov 27 20:19:31 MET 1994 by ow ++% Fri Feb 2 15:04:50 PST 1996 by jdp@polstra.com + % +-% FreeBSD 2.0 configuration (with shared library support in comments) ++% FreeBSD 2.1 and 2.2 configuration, with shared library support + % + + %-------------------------------------------------- compilation environment --- +@@ -44,6 +45,8 @@ + MAN_INSTALL = INSTALL_ROOT & "man" % man pages + HTML_INSTALL = INSTALL_ROOT & "lib/m3/www" % public hypertext + ++WDROOT = $HOME & "/m3/pkg" % handy default for overrides ++ + % The manual pages normally go in subdirectories man{1,...8} of + % the MAN_INSTALL directory. If you prefer to have them all in + % a single section, define MAN_SECTION to be that section's name. +@@ -56,7 +59,12 @@ + LIB_USE = LIB_INSTALL + PKG_USE = PKG_INSTALL + +-readonly INSTALL_IMPLS = "TRUE" ++% This is a relative path from LIB_USE to PKG_USE, so that we can avoid ++% installing absolute symbolic links. If you cannot support such relative ++% links, then make it the same as PKG_USE. ++LIB_TO_PKG = "../pkg" ++ ++readonly INSTALL_IMPLS = "" + % "TRUE" + % => save all source files during the install + % => makes debugging easier and browsing more fruitful +@@ -90,15 +98,17 @@ + % "import_TCP" is called from the tcp package. + + readonly proc import_X11R4() is +- import_lib("Xaw", "/usr/X386/lib") +- import_lib("Xmu", "/usr/X386/lib") +- import_lib("Xext", "/usr/X386/lib") +- import_lib("Xt", "/usr/X386/lib") +- import_lib("X11", "/usr/X386/lib") ++ import_lib("Xaw", "/usr/X11R6/lib") ++ import_lib("Xmu", "/usr/X11R6/lib") ++ import_lib("Xt", "/usr/X11R6/lib") ++ import_lib("SM", "/usr/X11R6/lib") ++ import_lib("ICE", "/usr/X11R6/lib") ++ import_lib("Xext", "/usr/X11R6/lib") ++ import_lib("X11", "/usr/X11R6/lib") + end + + readonly proc import_Motif() is +- import_lib("Xm", "/usr/X386/lib") ++ import_lib("Xm", "/usr/X11R6/lib") + end + + readonly proc import_DECPEX() is +@@ -128,9 +138,9 @@ + % entire function. Note, the distributed code assumes gnuemacs version 19 + % or later. + +-readonly proc emacs_compile (el) is +- exec ("emacs -batch -f batch-byte-compile", el) +-end ++%readonly proc emacs_compile (el) is ++% exec ("emacs -batch -f batch-byte-compile", el) ++%end + + %---------------------------------------------------- C compiler and linker --- + % The following definitions are used to compile and link C modules. +@@ -142,33 +152,27 @@ + % The actual definitions must be kept on one line due to finicky details + % of the bootstrap process. + +- +-%% The versions of ar and ranlib shipped with FreeBSD 2.0 +-%% definitelty do not work with the Modula-3 archives. +-%% ar sometimes complains about `too many open files' and +-%% ranlib often says `inappropriate file type for object'. +-%% I haven't looked into this further, since newer versions +-%% of the GNU binutils package work quite well. - Olaf Wagner 2/13/95 +- +- +-CC = _ifdef ("CC", CC, [ "gcc" ]) ++CC = _ifdef ("CC", CC, [ "cc", "-fpic" ]) + %--- C compiler with flags for compiling a single ".c" file +-% ------ FOR SHARED LIBS, add -fPIC + +-LINK = _ifdef ("LINK", LINK, [ "gcc" ]) ++LINK = _ifdef ("LINK", LINK, [ "ld", "-e", "start", "-dc", "-dp", "/usr/lib/crt0.o" ]) + %--- C compiler with flags for linking +-% ------ FOR SHARED LIBS, add -Xlinker -Bdynamic + +-MAKELIB = _ifdef ("MAKELIB", MAKELIB, [ "/usr/bin/ar", "cru" ]) ++MAKELIB = _ifdef ("MAKELIB", MAKELIB, [ "ar", "cru" ]) + %--- program to build library archives + + RANLIB = _ifdef ("RANLIB", RANLIB, [ "ranlib" ]) + %--- program to index libraries + +-ASM = _ifdef ("ASM", ASM, [ "/usr/bin/as" ]) ++ASM = _ifdef ("ASM", ASM, [ "as", "-k" ]) + %--- assembler +-% ------ FOR SHARED LIBS with /usr/bin/as from the FreeBSD distribution, +-% add -k -W ++ ++BOOT_LINK = _ifdef ("BOOT_LINK", BOOT_LINK, [ "cc" ]) ++%--- C compiler with flags for linking, used during the bootstrap process. ++% We have to use "cc" for the bootstrap, because the "-z2" option ++% ("libraries systematically linked with all programs") doesn't get used ++% during the bootstrap process. If we use "ld", then the C library isn't ++% linked in. + + %------------------------------------------------------------- GNU variants --- + % The two large pieces of GNU software used by the Modula-3 system +@@ -179,9 +183,9 @@ + % To use the GNU defaults for CC and CFLAGS, specify "*". + % + +-GNU_CC = _ifdef ("GNU_CC", GNU_CC, "*") +-GNU_CFLAGS = _ifdef ("GNU_CFLAGS", GNU_CFLAGS, "*") +-GNU_MAKE = _ifdef ("GNU_MAKE", GNU_MAKE, "gmake") ++GNU_CC = _ifdef ("GNU_CC", GNU_CC, "cc") ++GNU_CFLAGS = _ifdef ("GNU_CFLAGS", GNU_CFLAGS, "-O") ++GNU_MAKE = _ifdef ("GNU_MAKE", GNU_MAKE, "make") + + %-------------------------------------------------------- Modula-3 compiler --- + % The syntax for the values passed to most of the M3_CONFIG options is +@@ -192,7 +196,8 @@ + M3 = LIB_USE & "/m3" + + % What are the standard flags? +-M3OPTIONS = [ "-w1", "-why", "-g" ] ++M3OPTIONS = [ "-w1", "-why", "-O" ] ++% ------ FOR DEBUGGING INFO, add "-g" + + M3_CONFIG = [ + "-Y1" & _pack_args (CC), +@@ -201,11 +206,11 @@ + "-Y4" & _pack_args (RANLIB), + "-Y7" & _pack_args (ASM), + +- "-Y6@" & LIB_USE & "/m3cgc1@-quiet@", ++ "-Y6@" & LIB_USE & "/m3cgc1@-quiet@-fpic@", + % --- the Modula-3 IL to assembly language pass +- % ------ FOR SHARED LIBS, add -fPIC + +- "-z2@-lm@", % --- libraries systematically linked with all programs ++ "-z2@-lm@/usr/lib/libgcc.a@-lc@/usr/lib/libgcc.a@", ++ % --- libraries systematically linked with all programs + + "-z3" & LIB_USE & SL & "report_coverage.o", + % --- library linked in programs compiled with "-Z" coverage option +@@ -248,7 +253,7 @@ + % passes in a file and then deletes the file, unless "-keep" or + % "-verbose" is specified. + +- "-zK0", ++ "-zK1", + % --- Set the value of "-zK" to "1" if you want the m3 driver to + % supply -Bdynamic/-Bstatic options to the linker, "0" otherwise. + +@@ -263,9 +268,9 @@ + + proc build_standalone() is + % --- reset the linker to avoid shared libraries. +- M3_CONFIG += "-Y2@cc@-static@" + M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-quiet@" +- M3_CONFIG += "-Y7@/usr/bin/as@" ++ M3_CONFIG += "-Y7@as@" ++ M3_CONFIG += "-Bstatic" + end + + proc build_shared() is +@@ -282,7 +287,7 @@ + + proc after_library_hooks(x) is + local lib_a = format ("lib%s.a", x) +- local lib_so = format ("lib%s.so.1.1", x) ++ local lib_so = format ("lib%s.so.4.0", x) + local dest = format ("%s%s%s%s%s", PKG_INSTALL, SL, BUILD_PACKAGE, + SL, BUILD_DIR) + +@@ -291,7 +296,7 @@ + write ("missing ", lib_a, ": not building ", lib_so, CR) + else + if stale (lib_so, lib_a) +- exec ("/usr/bin/ld -Bshareable -assert pure-text -o", ++ exec ("ld -Bshareable -assert pure-text -o", + lib_so, COMPILE_OBJECTS) + end + install_derived (lib_so) |