Commit Graph

1197 Commits

Author SHA1 Message Date
lukem
58d2d9a196 Set _LIBLDOPTS to set -Wl,-rpath-link -R -L appropriately based
on the setting of ${SHLIBDIR} and ${SHLIBINSTALLDIR} (_not_ ${_LIBSODIR}).

Fixes cruel and unusual ^W^W^W obscure native-build and not-so-obscure
cross-builds problems I was having with shared libraries with a
non-base LIBDIR (e.g, /usr/X11R6/lib) that use LDADD to pull in other
libraries from /usr/lib (such as libm) which are really in /lib and the
symlink from ${DESTDIR}/usr/lib/libm.so to /lib/libm.so.N.M was confusing
the linker.  Stuffing -rpath-link ${DESTDIR}/lib in solves the problem.

This should mean that shared libraries that depend upon other shared
libraries in other directories should DTRT in a DESTDIR (cross-)build...

Inspired by _PROGLDOPTS in <bsd.prog.mk>
2003-09-30 07:24:23 +00:00
lukem
0f9e6cf359 Add LIBSTDCXX (for usr/lib/libstdc++.a).
Sync LIB* documentation with reality.
2003-09-29 01:06:37 +00:00
mycroft
b9556aa82f List VAX as non-GCC3. 2003-09-27 04:27:32 +00:00
christos
d1ec79f82d back out previous, suggested by gimpy. 2003-09-26 20:51:55 +00:00
christos
a28207daf8 entry for amd64->x86_64 map in gnu arch. 2003-09-26 20:40:29 +00:00
matt
c6d135e9c5 Switch Alpha to GDB5.3 2003-09-24 06:19:12 +00:00
matt
53ea4f5070 Switch PowerPC to GCC 3.3.1 and GDB 5.3. 2003-09-24 04:58:33 +00:00
christos
17a5344584 Turn on the switch for gdb53/m68k. Thanks Christian Limpach! 2003-09-23 13:45:27 +00:00
christos
802390c474 Add more comments for gdb-5.3 2003-09-22 14:50:51 +00:00
matt
f75f4d1a47 Add missing continuator. 2003-09-22 01:25:06 +00:00
matt
e99025e911 Switch MACHINE_ARCH arm to GCC 3.3.1 2003-09-21 20:16:47 +00:00
lukem
9c437ec754 Change LNFILES' to BUILDSYMLINKS', to more accurately describe its purpose.
Per discussion with Simon Gerraty.
2003-09-20 06:20:41 +00:00
martin
57b44eed3f Drop explicit medlow model and default to -O2 for sparc64. 2003-09-19 16:32:10 +00:00
mrg
ee467f4816 switch i386, sparc, sparc64 & alpha to GCC 3.3.1. 2003-09-19 08:15:46 +00:00
mrg
f9975d193b add a HAVE_GDB53 switch. defaults to no one yet. 2003-09-18 23:17:55 +00:00
lukem
e71fc1cc14 Check ${SHLIBDIR} against "/usr/lib" instead of ${LIBDIR} when determining
if we need to add stuff (usually "/lib") to the rpath-link path before
"/usr/lib".  Otherwise, this barfs if LIBDIR != /usr/lib or /lib, and
we're cross-building (e.g., in src/x11)
2003-09-14 22:36:55 +00:00
lukem
6ede1ad4a2 in cleanx11man, support "MAN defaults to ${PROG}.1" 2003-09-13 20:39:45 +00:00
lukem
ee09f184e5 explicitly set BINDIR LIBDIR MANDIR here 2003-09-13 20:10:44 +00:00
lukem
403d124c72 implement MKSTATICLIB, which defaults to "yes". if "no" (which NOSTATICLIB
also sets, a la the other variables), prevents build and installation
of the "normal" static *.a libraries.
2003-09-13 19:08:26 +00:00
simonb
1cc7226c95 Fix a tyop, wrap some long lines. 2003-09-13 11:16:28 +00:00
erh
552531a249 Also support per-program LDFLAGS and LDSTATIC. 2003-09-13 03:44:20 +00:00
erh
056a75c41e Create a way to add additional flags to COPTS, CPPFLAGS, CXXFLAGS and LDADD
for particular libraries or programs by specifying the additions in mk.conf
instead of needing to go edit individual Makefiles.
2003-09-13 02:52:05 +00:00
lukem
ee20b1b408 sanitise ${DESTDIR}${SOMEOTHERVAR} 2003-09-13 00:16:10 +00:00
lukem
7be275a0ed add infrastructure to support reach-over builds of xsrc 2003-09-12 07:44:10 +00:00
lukem
5ec73d3c6d <bsd.x11.mk>: infrastructure to support reach-over builds of xsrc 2003-09-12 07:40:34 +00:00
lukem
959cbfd166 revert previous; there's too much hairy crap in sys/lkm/compat involving
the order that Makefile.inc is pulled in to get this to work.

this stuff needs a rototill (for another day). for example, having every
sys/lkm/** directory make their own  machine ${MACHINE_CPU} and possibly
${SHARED_MACHINE_CPU} (e.g, x86 for i386/x86_64) is not the most optimal
situation ...
2003-09-04 08:27:08 +00:00
lukem
f212488840 simplify include symlink creation with LNFILES 2003-09-04 07:15:43 +00:00
lukem
d4ea794325 .PHONY cleanlnfiles 2003-09-03 07:09:39 +00:00
lukem
518360ab1a pull in <bsd.files.mk> incase LNFILES is used by <bsd.man.mk> user. 2003-09-03 05:40:12 +00:00
lukem
d18c364585 Implement LNFILES: a list of two word items:
lnsrc lntgt
For each lnsrc item, create a symlink named lntgt.
The lntgt symlinks are removed by the cleandir target.
2003-09-03 05:38:09 +00:00
uwe
ce52f77fb0 Now that HAVE_GCC3 is always defined, adjust the logic that selects if
NOPIC for sh3 should be set to check the value of HAVE_GCC3.
2003-09-01 09:38:42 +00:00
martin
a79495d23b Default sparc64 to XFree 4. 2003-08-29 10:51:21 +00:00
tron
1fc6b8eac2 Fix logic error in last change which caused GCC 3.x to be the default for
several platforms unintentionally.
2003-08-28 12:28:34 +00:00
mrg
1a086c6b25 introduce an additional switch to enable building GCC3 instead of GCC2:
HAVE_GCC3.  if this is set, we also set USE_TOOLS_TOOLCHAIN=no.  change
the definition of the former to be restricted to whether tools/toolchain
is used or not.
2003-08-27 16:03:17 +00:00
lukem
40a8a5734e Support ${LDFLAGS} when linking libraries 2003-08-24 09:35:49 +00:00
dsl
a33723f245 Add a ${PROG}.ro target that does an 'ld -r' of the program object files.
Allows a much simplified build of 'crunched' binaries since crunchgen can
build prog.ro instead of having to deretmine the names of all the .o files.
2003-08-22 19:17:00 +00:00
christos
4ef8a70c82 Disable -Wtraditional and explain why. 2003-08-22 18:07:21 +00:00
lukem
28d70b03dc order .SUFFIXES similar to other *.mk files 2003-08-11 09:59:43 +00:00
martin
28ef1fc8fe Handle empty __DPSRCS.d, avoiding executing commands like "cat > .depend"
in directories where only non-C/C++ files are in SRCS (e.g.: the forth
code for sparc bootblocks).

Patch from Luke.
2003-08-06 13:55:11 +00:00
lukem
64b5a0fe7b Add INCSYMLINKS to <bsd.inc.mk> and <bsd.kinc.mk>, and use that instead of
SYMLINKS to install symlinked header files.  INCSYMLINKS are installed with
'make includes'.  This avoids using SYMLINKS and hacks with the 'linkinstall'
target in <bsd.links.mk>, as linksinstall occurs in 'make install' and hacks
to get it to occur in 'make includes' weren't robust, as seen in lib/libdes.

Yet more improvements to bsd.README.
2003-08-03 09:23:14 +00:00
lukem
d65b74da7c Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS

Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".

Update documentation for some other make variables
2003-08-02 00:34:25 +00:00
mrg
e128feab59 use -isystem-cxx for now. update the "mostly ready to switch to gcc3" list 2003-08-01 22:51:34 +00:00
lukem
a93ea220fc Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
  This is a change of behaviour.  If a Makefile wants the clean semantics
  it must specifically append to CLEANFILES.
  Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
  that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d  depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".
2003-08-01 17:03:41 +00:00
lukem
e1ba5f323e simplify the ${PROG}: target to reduce duplication between the DESTDIR
and !DESTDIR cases...
2003-08-01 13:08:35 +00:00
lukem
3cbb5fea48 tweak ${DEPENDSRCS.d} target so that ${SRCS} isn't there. this fixes the
"make: out of memory" problem when make dependencies in lib/libc.

XXX: this is a temporary workaround.  i'm working on cleaning up how
the DPSRCS stuff is used throughout the tree...
2003-08-01 00:55:43 +00:00
lukem
a504cd2911 bsd.dep.mk: add a dependency for *.d on ${SRCS} ${DPSRCS}. this should fix
some build problems where DPSRCS contains .h files that need to exist to
build the .d file.

document that bsd.dep.mk should be included after anything that might
update SRCS or DPSRCS so that the above works correctly, and actually
ensure this is the case.
2003-07-31 13:47:32 +00:00
lukem
6874712934 Don't need -R/usr/lib; it will be searched at the end by ld.elf_so anyway.
Noted by matt green <mrg@>
2003-07-31 06:31:38 +00:00
lukem
86173c79de Set .NOPATH for all ${DEPENDSRCS} and not just .depend.
Should fix build problem noted by Geoff Wing on current-users@
2003-07-29 07:56:23 +00:00
lukem
c6fbe6d8e0 just add various files to ${DPSRCS} instead of trying to get
a ${DEPENDSRCS} target to DTRT
2003-07-29 02:42:49 +00:00
lukem
a0df1980db add bsd.dep.mk 2003-07-29 01:26:15 +00:00