aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-04-06 16:25:17 +0300
committerEli Zaretskii2013-04-06 16:25:17 +0300
commitd6db9fd60a55f8ad2cf8e60e2481c4e7412117ee (patch)
tree34d8c200872d39f6be81561ee96abac24e243911
parentc83cf9cfbcb3827e8739eef008ff600c9d8b6db2 (diff)
downloademacs-d6db9fd60a55f8ad2cf8e60e2481c4e7412117ee.tar.gz
emacs-d6db9fd60a55f8ad2cf8e60e2481c4e7412117ee.zip
Fixed src/epaths.h generation and lib-src dependencies and libraries.
-rw-r--r--Makefile.in15
-rw-r--r--configure.ac28
-rw-r--r--lib-src/Makefile.in63
-rw-r--r--nt/epaths.nt4
4 files changed, 69 insertions, 41 deletions
diff --git a/Makefile.in b/Makefile.in
index fc0b2ab4fb0..6e0f151ea1a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -290,7 +290,7 @@ COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir} $(DESTDIR)${leimdir}/ja-dic
290 290
291all: ${SUBDIR} 291all: ${SUBDIR}
292 292
293.PHONY: all ${SUBDIR} blessmail epaths-force FRC 293.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 FRC
294 294
295removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g' 295removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g'
296 296
@@ -317,6 +317,19 @@ epaths-force: FRC
317 -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \ 317 -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \
318 ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h 318 ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
319 319
320# Convert MSYS-style /x/foo file name into x:/foo that Windows can grok.
321msys_to_w32=sed -e 's,^/\([A-Za-z]\)/,\1:/,'
322
323# The w32 build needs a slightly different editing, and it uses
324# nt/epaths.nt as the template.
325epaths-force-w32: FRC
326 @(w32srcdir=`echo "${srcdir}" | ${msys_to_w32}` ; \
327 sed < ${srcdir}/nt/epaths.nt > epaths.h.$$$$ \
328 -e '/^.*#/s/@VER@/${version}/g' \
329 -e '/^.*#/s/@CFG@/${configuration}/g' \
330 -e "/^.*#/s|@SRC@|$${w32srcdir}|g") && \
331 ${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
332
320lib-src src: $(NTDIR) lib 333lib-src src: $(NTDIR) lib
321 334
322src: lib-src FRC 335src: lib-src FRC
diff --git a/configure.ac b/configure.ac
index a46f89ad550..67cb02c068e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1031,8 +1031,6 @@ AC_SUBST(C_SWITCH_SYSTEM)
1031 1031
1032 1032
1033LIBS_SYSTEM= 1033LIBS_SYSTEM=
1034LIB_WSOCK32=
1035NTLIB=
1036case "$opsys" in 1034case "$opsys" in
1037 ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2. 1035 ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2.
1038 aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;; 1036 aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;;
@@ -1045,16 +1043,9 @@ case "$opsys" in
1045 1043
1046 ## Motif needs -lgen. 1044 ## Motif needs -lgen.
1047 unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;; 1045 unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;;
1048
1049 mingw32) LIBS_SYSTEM="-lcomctl32"
1050 LIB_WSOCK32="$LIB_WSOCK32 -lwsock32"
1051 NTLIB="ntlib.$ac_objext"
1052 ;;
1053esac 1046esac
1054 1047
1055AC_SUBST(LIBS_SYSTEM) 1048AC_SUBST(LIBS_SYSTEM)
1056AC_SUBST(LIB_WSOCK32)
1057AC_SUBST(NTLIB)
1058 1049
1059### Make sure subsequent tests use flags consistent with the build flags. 1050### Make sure subsequent tests use flags consistent with the build flags.
1060 1051
@@ -1578,6 +1569,9 @@ fi
1578 1569
1579FIRSTFILE_OBJ= 1570FIRSTFILE_OBJ=
1580NTDIR= 1571NTDIR=
1572LIBS_ECLIENT=
1573LIB_WSOCK32=
1574NTLIB=
1581CM_OBJ="cm.o" 1575CM_OBJ="cm.o"
1582if test "${HAVE_W32}" = "yes"; then 1576if test "${HAVE_W32}" = "yes"; then
1583 AC_DEFINE(HAVE_NTGUI, 1, [Define to use native MS Windows GUI.]) 1577 AC_DEFINE(HAVE_NTGUI, 1, [Define to use native MS Windows GUI.])
@@ -1600,12 +1594,15 @@ if test "${HAVE_W32}" = "yes"; then
1600 W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o" 1594 W32_OBJ="$W32_OBJ w32.o w32console.o w32heap.o w32inevt.o w32proc.o"
1601 W32_OBJ="$W32_OBJ w32notify.o" 1595 W32_OBJ="$W32_OBJ w32notify.o"
1602 W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32" 1596 W32_LIBS="$W32_LIBS -lwinmm -lgdi32 -lcomdlg32"
1603 W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lusp10" 1597 W32_LIBS="$W32_LIBS -lmpr -lwinspool -lole32 -lcomctl32 -lusp10"
1604 CLIENTRES="emacsclient.res" 1598 CLIENTRES="emacsclient.res"
1605 CLIENTW="emacsclientw\$(EXEEXT)" 1599 CLIENTW="emacsclientw\$(EXEEXT)"
1606 FIRSTFILE_OBJ=firstfile.o 1600 FIRSTFILE_OBJ=firstfile.o
1607 NTDIR=nt 1601 NTDIR=nt
1608 CM_OBJ= 1602 CM_OBJ=
1603 LIBS_ECLIENT="-lcomctl32"
1604 LIB_WSOCK32="-lwsock32"
1605 NTLIB="ntlib.$ac_objext"
1609 fi 1606 fi
1610fi 1607fi
1611AC_SUBST(W32_OBJ) 1608AC_SUBST(W32_OBJ)
@@ -1618,6 +1615,9 @@ AC_SUBST(W32_RES_LINK)
1618AC_SUBST(FIRSTFILE_OBJ) 1615AC_SUBST(FIRSTFILE_OBJ)
1619AC_SUBST(NTDIR) 1616AC_SUBST(NTDIR)
1620AC_SUBST(CM_OBJ) 1617AC_SUBST(CM_OBJ)
1618AC_SUBST(LIBS_ECLIENT)
1619AC_SUBST(LIB_WSOCK32)
1620AC_SUBST(NTLIB)
1621 1621
1622if test "${HAVE_W32}" = "yes"; then 1622if test "${HAVE_W32}" = "yes"; then
1623 window_system=w32 1623 window_system=w32
@@ -4661,8 +4661,12 @@ dnl by configure. This also explains the `move-if-change' test and
4661dnl the use of force in the `epaths-force' rule in Makefile.in. 4661dnl the use of force in the `epaths-force' rule in Makefile.in.
4662AC_CONFIG_COMMANDS([epaths], [ 4662AC_CONFIG_COMMANDS([epaths], [
4663echo creating src/epaths.h 4663echo creating src/epaths.h
4664${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force 4664if test "${opsys}" = "mingw32"; then
4665], [GCC="$GCC" CPPFLAGS="$CPPFLAGS"]) 4665 ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force-w32
4666else
4667 ${MAKE-make} MAKEFILE_NAME=do-not-make-Makefile epaths-force
4668fi
4669], [GCC="$GCC" CPPFLAGS="$CPPFLAGS" opsys="$opsys"])
4666 4670
4667AC_CONFIG_COMMANDS([gdbinit], [ 4671AC_CONFIG_COMMANDS([gdbinit], [
4668if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then 4672if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in
index 5e9616673b0..f7f334730f2 100644
--- a/lib-src/Makefile.in
+++ b/lib-src/Makefile.in
@@ -166,14 +166,18 @@ LIBS_MAIL=@LIBS_MAIL@
166LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ 166LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
167## empty or -lrt or -lposix4 if HAVE_FDATASYNC 167## empty or -lrt or -lposix4 if HAVE_FDATASYNC
168LIB_FDATASYNC = @LIB_FDATASYNC@ 168LIB_FDATASYNC = @LIB_FDATASYNC@
169## empty of -lwsock32 for MinGW 169## empty or -lwsock2 for MinGW
170LIB_WSOCK32 = @LIB_WSOCK32@ 170LIB_WSOCK32=@LIB_WSOCK32@
171 171
172## Extra libraries to use when linking movemail. 172## Extra libraries to use when linking movemail.
173LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \ 173LIBS_MOVE = $(LIBS_MAIL) $(KRB4LIB) $(DESLIB) $(KRB5LIB) $(CRYPTOLIB) \
174 $(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV) 174 $(COM_ERRLIB) $(LIBHESIOD) $(LIBRESOLV) $(LIB_WSOCK32)
175 175
176## Extra object files for linking emacsclient 176## Extra libraries when linking emacsclient
177## (empty or -lcomctl32 for MinGW)
178LIBS_ECLIENT = @LIBS_ECLIENT@
179
180## Extra object files for linking for MinGW
177NTLIB = @NTLIB@ 181NTLIB = @NTLIB@
178CLIENTRES = @CLIENTRES@ 182CLIENTRES = @CLIENTRES@
179WINDRES = @WINDRES@ 183WINDRES = @WINDRES@
@@ -312,61 +316,68 @@ regex.o: $(srcdir)/../src/regex.c $(srcdir)/../src/regex.h $(config_h)
312 ${CC} -c ${CPP_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ 316 ${CC} -c ${CPP_CFLAGS} -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
313 ${srcdir}/../src/regex.c 317 ${srcdir}/../src/regex.c
314 318
315etags${EXEEXT}: ${srcdir}/etags.c regex.o $(config_h) 319etags${EXEEXT}: ${srcdir}/etags.c regex.o $(NTLIB) $(config_h)
316 $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" \ 320 $(CC) ${ALL_CFLAGS} -DEMACS_NAME="\"GNU Emacs\"" \
317 -DVERSION="\"${version}\"" ${srcdir}/etags.c \ 321 -DVERSION="\"${version}\"" ${srcdir}/etags.c \
318 regex.o $(LOADLIBES) -o etags${EXEEXT} 322 regex.o $(LOADLIBES) $(NTLIB) -o etags${EXEEXT}
319 323
320ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(config_h) 324ebrowse${EXEEXT}: ${srcdir}/ebrowse.c ${srcdir}/../lib/min-max.h $(NTLIB) \
325 $(config_h)
321 $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \ 326 $(CC) ${ALL_CFLAGS} -DVERSION="\"${version}\"" \
322 ${srcdir}/ebrowse.c $(LOADLIBES) -o ebrowse${EXEEXT} 327 ${srcdir}/ebrowse.c $(LOADLIBES) $(NTLIB) -o ebrowse${EXEEXT}
323 328
324## We depend on etags to assure that parallel makes do not write two 329## We depend on etags to assure that parallel makes do not write two
325## etags.o files on top of each other. 330## etags.o files on top of each other.
326ctags${EXEEXT}: etags${EXEEXT} 331ctags${EXEEXT}: etags${EXEEXT}
327 $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \ 332 $(CC) ${ALL_CFLAGS} -DCTAGS -DEMACS_NAME="\"GNU Emacs\"" \
328 -DVERSION="\"${version}\"" ${srcdir}/etags.c \ 333 -DVERSION="\"${version}\"" ${srcdir}/etags.c \
329 regex.o $(LOADLIBES) -o ctags${EXEEXT} 334 regex.o $(LOADLIBES) $(NTLIB) -o ctags${EXEEXT}
330 335
331profile${EXEEXT}: ${srcdir}/profile.c $(config_h) 336profile${EXEEXT}: ${srcdir}/profile.c $(NTLIB) $(config_h)
332 $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c \ 337 $(CC) ${ALL_CFLAGS} ${srcdir}/profile.c \
333 $(LOADLIBES) $(LIB_CLOCK_GETTIME) -o profile${EXEEXT} 338 $(LOADLIBES) $(NTLIB) $(LIB_CLOCK_GETTIME) -o profile${EXEEXT}
334 339
335make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(config_h) 340make-docfile${EXEEXT}: ${srcdir}/make-docfile.c $(NTLIB) $(config_h)
336 $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) \ 341 $(CC) ${ALL_CFLAGS} ${srcdir}/make-docfile.c $(LOADLIBES) $(NTLIB) \
337 -o make-docfile${EXEEXT} 342 -o make-docfile${EXEEXT}
338 343
339movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h) 344movemail${EXEEXT}: ${srcdir}/movemail.c pop.o $(NTLIB) $(config_h)
340 $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o \ 345 $(CC) ${ALL_CFLAGS} ${MOVE_FLAGS} ${srcdir}/movemail.c pop.o \
341 $(NTLIB) $(LIB_WSOCK32) $(LOADLIBES) $(LIBS_MOVE) \ 346 $(LOADLIBES) $(NTLIB) $(LIBS_MOVE) -o movemail${EXEEXT}
342 -o movemail${EXEEXT}
343 347
344pop.o: ${srcdir}/pop.c ${srcdir}/../lib/min-max.h $(config_h) 348pop.o: ${srcdir}/pop.c ${srcdir}/pop.h ${srcdir}/../lib/min-max.h $(config_h)
345 $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c 349 $(CC) -c ${CPP_CFLAGS} ${MOVE_FLAGS} ${srcdir}/pop.c
346 350
347emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(config_h) 351emacsclient${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(config_h)
348 $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \ 352 $(CC) ${ALL_CFLAGS} ${srcdir}/emacsclient.c \
349 -DVERSION="\"${version}\"" $(LIB_WSOCK32) \ 353 -DVERSION="\"${version}\"" $(NTLIB) $(LOADLIBES) $(LIB_FDATASYNC) \
350 $(LOADLIBES) $(LIB_FDATASYNC) -o emacsclient${EXEEXT} 354 $(LIB_WSOCK32) $(LIBS_ECLIENT) -o emacsclient${EXEEXT}
351 355
352emacsclientw${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(CLIENTRES) $(config_h) 356emacsclientw${EXEEXT}: ${srcdir}/emacsclient.c $(NTLIB) $(CLIENTRES) $(config_h)
353 $(CC) ${ALL_CFLAGS} $(CLIENTRES) -mwindows ${srcdir}/emacsclient.c \ 357 $(CC) ${ALL_CFLAGS} $(CLIENTRES) -mwindows ${srcdir}/emacsclient.c \
354 -DVERSION="\"${version}\"" $(LIB_WSOCK32) \ 358 -DVERSION="\"${version}\"" $(LOADLIBES) $(LIB_FDATASYNC) \
355 $(LOADLIBES) -lcomctl32 $(LIB_FDATASYNC) -o emacsclientw${EXEEXT} 359 $(LIB_WSOCK32) $(LIBS_ECLIENT) -o emacsclientw${EXEEXT}
360
361NTINC = ${srcdir}/../nt
362NTDEPS = $(NTINC)/ms-w32.h $(NTINC)/sys/stat.h $(NTINC)/inttypes.h \
363 $(NTINC)/stdint.h $(NTINC)/pwd.h $(NTINC)/sys/time.h $(NTINC)/stdbool.h \
364 $(NTINC)/sys/wait.h $(NTINC)/unistd.h $(NTINC)/sys/file.h $(NTINC)/netdb.h
356 365
357ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h 366# The dependency on $(NTDEPS) is a trick intended to cause recompile of
367# programs on MinGW whenever some private header in nt/inc is modified.
368ntlib.o: ${srcdir}/ntlib.c ${srcdir}/ntlib.h $(NTDEPS)
358 $(CC) -c ${CPP_CFLAGS} ${srcdir}/ntlib.c 369 $(CC) -c ${CPP_CFLAGS} ${srcdir}/ntlib.c
359 370
360hexl${EXEEXT}: ${srcdir}/hexl.c $(config_h) 371hexl${EXEEXT}: ${srcdir}/hexl.c $(NTLIB) $(config_h)
361 $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl${EXEEXT} 372 $(CC) ${ALL_CFLAGS} ${srcdir}/hexl.c $(LOADLIBES) -o hexl${EXEEXT}
362 373
363update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h) 374update-game-score${EXEEXT}: ${srcdir}/update-game-score.c $(NTLIB) $(config_h)
364 $(CC) ${ALL_CFLAGS} -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \ 375 $(CC) ${ALL_CFLAGS} -DHAVE_SHARED_GAME_DIR="\"$(gamedir)\"" \
365 ${srcdir}/update-game-score.c $(NTLIB) $(LOADLIBES) \ 376 ${srcdir}/update-game-score.c $(LOADLIBES) $(NTLIB) \
366 -o update-game-score${EXEEXT} 377 -o update-game-score${EXEEXT}
367 378
368emacsclient.res: ${srcdir}/../nt/emacsclient.rc 379emacsclient.res: $(NTINC)/emacsclient.rc
369 $(WINDRES) -O coff --include-dir=${srcdir}/../nt -o emacsclient.res \ 380 $(WINDRES) -O coff --include-dir=$(NTINC) -o emacsclient.res \
370 ${srcdir}/../nt/emacsclient.rc 381 $(NTINC)/emacsclient.rc
371 382
372## Makefile ends here. 383## Makefile ends here.
diff --git a/nt/epaths.nt b/nt/epaths.nt
index 10f38aab1c9..1e418550d52 100644
--- a/nt/epaths.nt
+++ b/nt/epaths.nt
@@ -38,7 +38,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
38 <datadir>/emacs/VERSION/lisp:<datadir>/emacs/VERSION/leim 38 <datadir>/emacs/VERSION/lisp:<datadir>/emacs/VERSION/leim
39 where datadir is eg /usr/local/share. 39 where datadir is eg /usr/local/share.
40*/ 40*/
41#define PATH_LOADSEARCH "%emacs_dir%/share/emacs/@VER@/lisp:%emacs_dir%/share/emacs/@VER@/leim" 41#define PATH_LOADSEARCH "%emacs_dir%/share/emacs/@VER@/lisp;%emacs_dir%/share/emacs/@VER@/leim"
42 42
43/* Like PATH_LOADSEARCH, but contains the non-standard pieces. 43/* Like PATH_LOADSEARCH, but contains the non-standard pieces.
44 These are the site-lisp directories, typically something like 44 These are the site-lisp directories, typically something like
@@ -48,7 +48,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
48 This is combined with PATH_LOADSEARCH to make the default load-path. 48 This is combined with PATH_LOADSEARCH to make the default load-path.
49 If the --no-site-lisp option is used, this piece is excluded. 49 If the --no-site-lisp option is used, this piece is excluded.
50*/ 50*/
51#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/@VER@/site-lisp:%emacs_dir%/share/emacs/site-lisp" 51#define PATH_SITELOADSEARCH "%emacs_dir%/share/emacs/@VER@/site-lisp;%emacs_dir%/share/emacs/site-lisp"
52 52
53/* Like PATH_LOADSEARCH, but used only during the build process 53/* Like PATH_LOADSEARCH, but used only during the build process
54 when Emacs is dumping. Configure (using "make epaths-force") sets 54 when Emacs is dumping. Configure (using "make epaths-force") sets