Date: Thu, 4 Sep 2003 19:33:58 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: "David O'Brien" <obrien@FreeBSD.org> Cc: Peter Wemm <peter@FreeBSD.org> Subject: Re: cvs commit: src/share/mk bsd.lib.mk Message-ID: <20030904163358.GD97732@sunbay.com> In-Reply-To: <20030904162656.GA396@dragon.nuxi.com> References: <200309040429.h844TBhD058678@repoman.freebsd.org> <20030904083617.GA56261@dragon.nuxi.com> <20030904092755.GD45051@sunbay.com> <20030904140129.GA61909@dragon.nuxi.com> <20030904155659.GC97732@sunbay.com> <20030904162656.GA396@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Oiv9uiLrevHtW1RS Content-Type: multipart/mixed; boundary="fXStkuK2IQBfcDe+" Content-Disposition: inline --fXStkuK2IQBfcDe+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 04, 2003 at 09:26:56AM -0700, David O'Brien wrote: > On Thu, Sep 04, 2003 at 06:56:59PM +0300, Ruslan Ermilov wrote: > > On Thu, Sep 04, 2003 at 07:01:29AM -0700, David O'Brien wrote: > > > On Thu, Sep 04, 2003 at 12:27:55PM +0300, Ruslan Ermilov wrote: > > [...] > > > > > GCC should have additional changes then. It is going to confuse = other > > > > > things to have the symlink in one directory and the real libs in = another. > > > > >=20 > > > > I will look into what else is needed in our toolchain to get rid of= these > > > > symlinks, and get back to you, David. > > >=20 > > > Keep which ever symlinks you want /lib or /usr/lib -- but we should be > > > totally unambigious as to which are the "real" ones, and don't install > > > the other. Installing two sets of symlinks isn't the way to go. > > > =20 > > Sure. The fix is to make ``cc --print-search-dirs'' output include > > the /lib directory too. =20 >=20 > That is trival. >=20 Not quite. Just fixing STANDARD_STARTFILE_PREFIX to include ${TOOLS_PREFIX}/lib makes the output look like required, but this does not seem to work -- linkage doesn't work. I had to introduce and use STANDARD_STARTFILE_PREFIX_1 and STANDARD_STARTFILE_PREFIX_2 to make it work. My test buildworld just completed with this patch (and without compatibility symlinks in /usr/lib). But this does not work (yet) in the CROSS_COMPILE case. Attached is the draft patch. > > I'm currently testing some patches with bsd.lib.mk,v 1.152. >=20 > We should all agree on where the symlink for things like libc.so.X live. > I'm 99% sure Peter will argue /usr/lib, and I personally don't care -- I > just want one of them. Before commiting yet something else to > bsd.lib.mk, what direction are you going in? >=20 For /lib/libfoo.so.X, create /lib/libfoo.so symlink. For /usr/lib/libfoo.so.X, create /usr/lib/libfoo.so symlink. Cheers, --=20 Ruslan Ermilov Sysadmin and DBA, ru@sunbay.com Sunbay Software Ltd, ru@FreeBSD.org FreeBSD committer --fXStkuK2IQBfcDe+ Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=p Content-Transfer-Encoding: quoted-printable Index: contrib/gcc/gcc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/contrib/gcc/gcc.c,v retrieving revision 1.36 diff -u -r1.36 gcc.c --- contrib/gcc/gcc.c 11 Jul 2003 04:45:39 -0000 1.36 +++ contrib/gcc/gcc.c 4 Sep 2003 16:02:07 -0000 @@ -1319,6 +1319,12 @@ #ifndef STANDARD_STARTFILE_PREFIX #define STANDARD_STARTFILE_PREFIX "/usr/local/lib/" #endif +#ifndef STANDARD_STARTFILE_PREFIX_1 +#define STANDARD_STARTFILE_PREFIX_1 "/lib/" +#endif +#ifndef STANDARD_STARTFILE_PREFIX_2 +#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" +#endif #ifndef TOOLDIR_BASE_PREFIX #define TOOLDIR_BASE_PREFIX "/usr/local/" #endif @@ -1335,8 +1341,8 @@ static const char *md_startfile_prefix =3D MD_STARTFILE_PREFIX; static const char *md_startfile_prefix_1 =3D MD_STARTFILE_PREFIX_1; static const char *const standard_startfile_prefix =3D STANDARD_STARTFILE_= PREFIX; -static const char *const standard_startfile_prefix_1 =3D "/lib/"; -static const char *const standard_startfile_prefix_2 =3D "/usr/lib/"; +static const char *const standard_startfile_prefix_1 =3D STANDARD_STARTFIL= E_PREFIX_1; +static const char *const standard_startfile_prefix_2 =3D STANDARD_STARTFIL= E_PREFIX_2; =20 static const char *const tooldir_base_prefix =3D TOOLDIR_BASE_PREFIX; static const char *tooldir_prefix; @@ -6060,6 +6066,7 @@ add_prefix (&startfile_prefixes, md_startfile_prefix_1, "GCC", PREFIX_PRIORITY_LAST, 0, NULL, 1); =20 +#ifndef FREEBSD_NATIVE /* If standard_startfile_prefix is relative, base it on standard_exec_prefix. This lets us move the installed tree as a unit. If GCC_EXEC_PREFIX is defined, base @@ -6080,13 +6087,12 @@ standard_startfile_prefix, NULL), NULL, PREFIX_PRIORITY_LAST, 0, NULL, 1); } +#endif /* not FREEBSD_NATIVE */ =20 -#ifndef FREEBSD_NATIVE add_prefix (&startfile_prefixes, standard_startfile_prefix_1, "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL, 1); add_prefix (&startfile_prefixes, standard_startfile_prefix_2, "BINUTILS", PREFIX_PRIORITY_LAST, 0, NULL, 1); -#endif /* not FREEBSD_NATIVE */ #if 0 /* Can cause surprises, and one can use -B./ instead. */ add_prefix (&startfile_prefixes, "./", NULL, PREFIX_PRIORITY_LAST, 1, NULL, 0); Index: gnu/usr.bin/cc/Makefile.inc =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/cc/Makefile.inc,v retrieving revision 1.63 diff -u -r1.63 Makefile.inc --- gnu/usr.bin/cc/Makefile.inc 4 Jun 2002 19:45:08 -0000 1.63 +++ gnu/usr.bin/cc/Makefile.inc 4 Sep 2003 16:04:37 -0000 @@ -15,7 +15,7 @@ target=3D ${TARGET_ARCH}-undermydesk-freebsd =20 CFLAGS+=3D -DIN_GCC -DHAVE_CONFIG_H -CFLAGS+=3D -DPREFIX=3D\"${TOOLS_PREFIX}/usr\" +CFLAGS+=3D -DTOOLS_PREFIX=3D\"${TOOLS_PREFIX}\" -DPREFIX=3DTOOLS_PREFIX\"/= usr\" #CFLAGS+=3D -DWANT_COMPILER_INVARIANTS =20 # If building 64-bit longs for the i386, "_LARGE_LONG" should also be defi= ned Index: gnu/usr.bin/cc/cc_tools/freebsd-native.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/ncvs/src/gnu/usr.bin/cc/cc_tools/freebsd-native.h,v retrieving revision 1.23 diff -u -r1.23 freebsd-native.h --- gnu/usr.bin/cc/cc_tools/freebsd-native.h 11 Jul 2003 05:33:24 -0000 1.23 +++ gnu/usr.bin/cc/cc_tools/freebsd-native.h 4 Sep 2003 16:03:53 -0000 @@ -40,7 +40,8 @@ /* Under FreeBSD, the normal location of the various *crt*.o files is the /usr/lib directory. */ =20 -#define STANDARD_STARTFILE_PREFIX PREFIX"/lib/" +#define STANDARD_STARTFILE_PREFIX_1 TOOLS_PREFIX"/lib/" +#define STANDARD_STARTFILE_PREFIX_2 TOOLS_PREFIX"/usr/lib/" #ifdef CROSS_COMPILE #define CROSS_STARTFILE_PREFIX PREFIX"/lib/" #endif --fXStkuK2IQBfcDe+-- --Oiv9uiLrevHtW1RS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (FreeBSD) iD8DBQE/V2l2Ukv4P6juNwoRAoO7AJ9I3Lx2FJh5HPvAEXAxZpkmOpZtEQCcDEIj 4jYABYmIhnfPKEiCWe7k+0I= =S5B7 -----END PGP SIGNATURE----- --Oiv9uiLrevHtW1RS--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030904163358.GD97732>