aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog13
-rw-r--r--src/Makefile.in1
-rw-r--r--src/m/amdx86-64.h30
-rw-r--r--src/m/ibms390x.h6
-rw-r--r--src/m/macppc.h6
-rw-r--r--src/m/sparc.h11
-rw-r--r--src/s/freebsd.h4
-rw-r--r--src/s/gnu-linux.h4
-rw-r--r--src/s/hpux10-20.h2
-rw-r--r--src/s/netbsd.h8
10 files changed, 29 insertions, 56 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1dbdf0fbae8..0675257abd3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,18 @@
12010-04-27 Glenn Morris <rgm@gnu.org> 12010-04-27 Glenn Morris <rgm@gnu.org>
2 2
3 * m/amdx86-64.h (START_FILES, LIB_STANDARD): Change the logic around,
4 since the defaults (set by the system file) are fine in most cases.
5 [GNU_LINUX, __OpenBSD__, __NetBSD__, __APPLE__]: Remove sections.
6 * m/ibms390x.h (START_FILES, LIB_STANDARD):
7 * m/macppc.h (START_FILES, LIB_STANDARD) [GNU_LINUX]:
8 * m/sparc.h (START_FILES, LIB_STANDARD) [__linux__]:
9 Remove definitions, since they are set correctly in s/gnu-linux.h.
10 * s/freebsd.h (START_FILES, LIB_STANDARD):
11 * s/gnu-linux.h (START_FILES, LIB_STANDARD):
12 * s/hpux10-20.h (START_FILES):
13 * s/netbsd.h (START_FILES, LIB_STANDARD, START_FILES_1, END_FILES_1):
14 Use $CRT_DIR in place of fixed /usr/lib, /lib directories.
15
3 * Makefile.in (LIBXP, LUCID_LIBW, WIDGET_OBJ): Set via configure. 16 * Makefile.in (LIBXP, LUCID_LIBW, WIDGET_OBJ): Set via configure.
4 (MOTIF_LIBW): Use $LIBXP. 17 (MOTIF_LIBW): Use $LIBXP.
5 (otherobj): Use $WIDGET_OBJ. 18 (otherobj): Use $WIDGET_OBJ.
diff --git a/src/Makefile.in b/src/Makefile.in
index adf4400a1da..2f1029cf70c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -68,7 +68,6 @@ bootstrap_exe = ${abs_builddir}/bootstrap-emacs${EXEEXT}
68 68
69OTHER_FILES = @OTHER_FILES@ 69OTHER_FILES = @OTHER_FILES@
70 70
71## Only used by amdx86-64 and ibms390x GNU/Linux.
72CRT_DIR=@CRT_DIR@ 71CRT_DIR=@CRT_DIR@
73 72
74LIBTIFF=@LIBTIFF@ 73LIBTIFF=@LIBTIFF@
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
index 6d27c950ce4..f7dfb126e6e 100644
--- a/src/m/amdx86-64.h
+++ b/src/m/amdx86-64.h
@@ -67,34 +67,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
67/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ 67/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
68#undef DATA_SEG_BITS 68#undef DATA_SEG_BITS
69 69
70#ifdef __OpenBSD__
71 70
71/* For GNU_LINUX, __OpenBSD__, __NetBSD__, __APPLE__, things are set
72 correctly in s/gnu-linux.h, netbsd.h, darwin.h. */
73#ifdef SOLARIS2
72#undef START_FILES 74#undef START_FILES
73#define START_FILES pre-crt0.o /usr/lib/crt0.o /usr/lib/crtbegin.o
74#undef LIB_STANDARD 75#undef LIB_STANDARD
75#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o 76#elif defined (__FreeBSD__) || (defined (DARWIN_OS) && !defined (__APPLE__))
76 77/* On FreeBSD, the libraries for binaries native to the build host's
77#elif defined(__NetBSD__)
78
79/* LIB_STANDARD and START_FILES set correctly in s/netbsd.h */
80
81#elif defined(SOLARIS2)
82
83#undef START_FILES
84#undef LIB_STANDARD
85
86#elif defined(__APPLE__)
87
88/* LIB_STANDARD and START_FILES set correctly in s/darwin.h */
89
90#else /* !__OpenBSD__ && !__NetBSD__ && !SOLARIS2 && !__APPLE__ */
91/* CRT_DIR defaults to /usr/lib. On GNU/Linux, it may be /usr/lib64.
92 On FreeBSD, the libraries for binaries native to the build host's
93 architecture are installed under /usr/lib, and the ones that need 78 architecture are installed under /usr/lib, and the ones that need
94 special paths are 32-bit compatibility libraries (installed under 79 special paths are 32-bit compatibility libraries (installed under
95 /usr/lib32). So to build a native binary of Emacs on FreeBSD/amd64 80 /usr/lib32). So to build a native binary of Emacs on FreeBSD/amd64
96 we can just point to /usr/lib. 81 we can just point to /usr/lib (the default $CRT_DIR). */
97 */
98#undef START_FILES 82#undef START_FILES
99#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o 83#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
100/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. 84/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
@@ -105,7 +89,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
105#undef LIB_STANDARD 89#undef LIB_STANDARD
106#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o 90#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
107 91
108#endif /* __OpenBSD__ */ 92#endif /* SOLARIS2 */
109#endif /* !i386 */ 93#endif /* !i386 */
110 94
111/* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e 95/* arch-tag: 8a5e001d-e12e-4692-a3a6-0b15ba271c6e
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index 3026266b349..18cd87f0b9a 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -85,11 +85,5 @@ NOTE-END */
85 85
86#define XPNTR(a) XUINT (a) 86#define XPNTR(a) XUINT (a)
87 87
88#undef START_FILES
89#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
90
91#undef LIB_STANDARD
92#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
93
94/* arch-tag: 4b87653c-6add-4663-8691-7d9dc17b5519 88/* arch-tag: 4b87653c-6add-4663-8691-7d9dc17b5519
95 (do not change this comment) */ 89 (do not change this comment) */
diff --git a/src/m/macppc.h b/src/m/macppc.h
index 112c15ed8e4..d58592d915a 100644
--- a/src/m/macppc.h
+++ b/src/m/macppc.h
@@ -39,12 +39,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
39 39
40#ifdef GNU_LINUX 40#ifdef GNU_LINUX
41#define LINKER $(CC) -nostdlib 41#define LINKER $(CC) -nostdlib
42#ifdef _ARCH_PPC64
43#undef START_FILES
44#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
45#undef LIB_STANDARD
46#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
47#endif
48#endif 42#endif
49 43
50#ifdef _ARCH_PPC64 44#ifdef _ARCH_PPC64
diff --git a/src/m/sparc.h b/src/m/sparc.h
index b43e56bc3b9..22611636115 100644
--- a/src/m/sparc.h
+++ b/src/m/sparc.h
@@ -52,17 +52,6 @@ NOTE-END */
52 52
53#ifdef __arch64__ /* GCC, 64-bit ABI. */ 53#ifdef __arch64__ /* GCC, 64-bit ABI. */
54#define BITS_PER_LONG 64 54#define BITS_PER_LONG 64
55#ifdef __linux__
56#undef START_FILES
57#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
58
59/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
60 The reason is that some functions in libgcc.a call functions from libc.a,
61 and some libc.a functions need functions from libgcc.a. Since most
62 versions of ld are one-pass linkers, we need to mention -lgcc twice,
63 or else we risk getting unresolved externals. */
64#undef LIB_STANDARD
65#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
66#endif 55#endif
67 56
68#ifndef _LP64 57#ifndef _LP64
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index d8aaa833265..6c4da8f0863 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -46,8 +46,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
46 there, contrary to what a stock GCC would do. */ 46 there, contrary to what a stock GCC would do. */
47 47
48#define LD_SWITCH_SYSTEM -L/usr/local/lib 48#define LD_SWITCH_SYSTEM -L/usr/local/lib
49#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o 49#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o $(CRT_DIR)/crtbegin.o
50#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o 50#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtend.o $(CRT_DIR)/crtn.o
51#undef LIB_GCC 51#undef LIB_GCC
52#define LIB_GCC 52#define LIB_GCC
53 53
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index a55fbcb9821..3d470032efc 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -168,7 +168,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
168/* Ask GCC where to find libgcc.a. */ 168/* Ask GCC where to find libgcc.a. */
169#define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name` 169#define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`
170 170
171#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o 171#define START_FILES pre-crt0.o $(CRT_DIR)/crt1.o $(CRT_DIR)/crti.o
172 172
173/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option 173/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
174 says where to find X windows at run time. */ 174 says where to find X windows at run time. */
@@ -190,7 +190,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
190 190
191#undef LIB_GCC 191#undef LIB_GCC
192#define LIB_GCC 192#define LIB_GCC
193#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o 193#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtn.o
194 194
195/* _BSD_SOURCE is redundant, at least in glibc2, since we define 195/* _BSD_SOURCE is redundant, at least in glibc2, since we define
196 _GNU_SOURCE. Left in in case it's relevant to libc5 systems and 196 _GNU_SOURCE. Left in in case it's relevant to libc5 systems and
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index b7dab37760e..28030de8897 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -170,7 +170,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
170 170
171#define NO_REMAP 171#define NO_REMAP
172 172
173#define START_FILES pre-crt0.o /lib/crt0.o 173#define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o
174 174
175/* Define VIRT_ADDR_VARIES if the virtual addresses of 175/* Define VIRT_ADDR_VARIES if the virtual addresses of
176 pure and impure space as loaded can vary, and even their 176 pure and impure space as loaded can vary, and even their
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index ee5d5b3f898..fd5ccc5fa87 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -28,14 +28,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28 28
29#define LIBS_TERMCAP -ltermcap 29#define LIBS_TERMCAP -ltermcap
30 30
31#define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o 31#define START_FILES pre-crt0.o $(CRT_DIR)/crt0.o START_FILES_1 $(CRT_DIR)/crtbegin.o
32#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1 32#define LIB_STANDARD -lgcc -lc -lgcc $(CRT_DIR)/crtend.o END_FILES_1
33#undef LIB_GCC 33#undef LIB_GCC
34#define LIB_GCC 34#define LIB_GCC
35 35
36#ifdef HAVE_CRTIN 36#ifdef HAVE_CRTIN
37#define START_FILES_1 /usr/lib/crti.o 37#define START_FILES_1 $(CRT_DIR)/crti.o
38#define END_FILES_1 /usr/lib/crtn.o 38#define END_FILES_1 $(CRT_DIR)/crtn.o
39#else 39#else
40#define START_FILES_1 40#define START_FILES_1
41#define END_FILES_1 41#define END_FILES_1