summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2020-12-28 20:59:04 -0800
committerMichael Gran <spk121@yahoo.com>2021-03-11 10:46:06 -0800
commit3f4d5d128c9896d3ecc508c3ed8f5e0a5a9c0b38 (patch)
tree3b1786548cd08782fd0386ba3471ade0ae663b75
parent1b0da42672262426bca7bb58e70fb753c628ffc3 (diff)
downloadguile-3f4d5d128c9896d3ecc508c3ed8f5e0a5a9c0b38.tar.gz
For MinGW use Windows filepaths in libpath.h
* configure.ac (MINGW_LIBPATH): new automake conditional and test * libguile/Makefile.am (libpath.h) [MINGW_LIBPATH]: use Windows-style paths
-rw-r--r--configure.ac3
-rw-r--r--libguile/Makefile.am47
2 files changed, 49 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index b33777104..bd49bf162 100644
--- a/configure.ac
+++ b/configure.ac
@@ -433,6 +433,7 @@ dnl
dnl Check for Winsock and other functionality on Win32 (*not* CygWin)
dnl
EXTRA_DEFS=""
+mingw_libpath=false
case $host in
*-*-mingw*)
AC_CHECK_HEADER(winsock2.h, [AC_DEFINE([HAVE_WINSOCK2_H], 1,
@@ -444,9 +445,11 @@ case $host in
AC_DEFINE([USE_DLL_IMPORT], 1,
[Define if you need additional CPP macros on Win32 platforms.])
fi
+ mingw_libpath=true
;;
esac
AC_SUBST(EXTRA_DEFS)
+AM_CONDITIONAL([MINGW_LIBPATH], [test x$mingw_libpath = xtrue])
# Reasons for testing:
# crt_externs.h - Darwin specific
diff --git a/libguile/Makefile.am b/libguile/Makefile.am
index 5ad8e5338..c0cc08cbc 100644
--- a/libguile/Makefile.am
+++ b/libguile/Makefile.am
@@ -738,6 +738,51 @@ EXTRA_DIST = ChangeLog-scm ChangeLog-threads \
# guile-procedures.txt guile.texi
## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds.
+if MINGW_LIBPATH
+libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @rm -f libpath.tmp
+ @echo '/* generated by Makefile */' > libpath.tmp
+ @echo '#define SCM_PKGDATA_DIR "'`$(CYGPATH_W) $(pkgdatadir) | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_LIBRARY_DIR "'`$(CYGPATH_W) $(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION) | $(SED) 's/\\\\/\\\\\\\\/g'`'"'>>libpath.tmp
+ @echo '#define SCM_SITE_DIR "'`$(CYGPATH_W) $(sitedir) | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_GLOBAL_SITE_DIR "'`$(CYGPATH_W) $(pkgdatadir)/site | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_LIB_DIR "'`$(CYGPATH_W) $(libdir) | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_EXTENSIONS_DIR "'`$(CYGPATH_W) $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_CCACHE_DIR "'`$(CYGPATH_W) $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/ccache | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_SITE_CCACHE_DIR "'`$(CYGPATH_W) $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/site-ccache | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_EFFECTIVE_VERSION "'`$(CYGPATH_W) $(GUILE_EFFECTIVE_VERSION) | $(SED) 's/\\\\/\\\\\\\\/g'`'"' >> libpath.tmp
+ @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
+ @echo ' { "srcdir", "'`cd @srcdir@; pwd | xargs $(CYGPATH_W) | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "top_srcdir", "'`$(CYGPATH_W) @top_srcdir_absolute@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "prefix", "'`$(CYGPATH_W) @prefix@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "exec_prefix", "'`$(CYGPATH_W) @exec_prefix@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "bindir", "'`$(CYGPATH_W) @bindir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "sbindir", "'`$(CYGPATH_W) @sbindir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "libexecdir", "'`$(CYGPATH_W) @libexecdir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "datadir", "'`$(CYGPATH_W) @datadir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "sysconfdir", "'`$(CYGPATH_W) @sysconfdir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "sharedstatedir", "'`$(CYGPATH_W) @sharedstatedir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "localstatedir", "'`$(CYGPATH_W) @localstatedir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "libdir", "'`$(CYGPATH_W) @libdir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "ccachedir", SCM_CCACHE_DIR }, \' >> libpath.tmp
+ @echo ' { "infodir", "'`$(CYGPATH_W) @infodir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "mandir", "'`$(CYGPATH_W) @mandir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "includedir", "'`$(CYGPATH_W) @includedir@ | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "pkgdatadir", "'`$(CYGPATH_W) $(pkgdatadir) | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "pkglibdir", "'`$(CYGPATH_W) $(pkglibdir) | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "pkgincludedir", "'`$(CYGPATH_W) $(pkgincludedir) | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' \
+ >> libpath.tmp
+ @echo ' { "extensiondir", "'`$(CYGPATH_W) $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/extensions | $(SED) 's/\\\\/\\\\\\\\/g'`'" }, \' >> libpath.tmp
+ @echo ' { "guileversion", "@GUILE_VERSION@" }, \' >> libpath.tmp
+ @echo ' { "libguileinterface", "@LIBGUILE_INTERFACE@" }, \' \
+ >> libpath.tmp
+ @echo ' { "LIBS", "@GUILE_LIBS@" }, \' >> libpath.tmp
+ @echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp
+ @BUILD_DATE="$${SOURCE_DATE_EPOCH:-`date '+%s'`}" ; \
+ echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp
+ @echo '}' >> libpath.tmp
+ $(AM_V_GEN)mv libpath.tmp libpath.h
+else
libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
@rm -f libpath.tmp
@echo '/* generated by Makefile */' > libpath.tmp
@@ -780,7 +825,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' { "buildstamp", "'`date -u +'%Y-%m-%d %T' -d @$$BUILD_DATE`'" }, \' >> libpath.tmp
@echo '}' >> libpath.tmp
$(AM_V_GEN)mv libpath.tmp libpath.h
-
+endif
snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS)