vehicle_android=no; vehicle_android_reason=default
graphics_android=no; graphics_android_reason=default
+shared_libnavit=no
+bin_navit=yes
+
AC_CANONICAL_HOST
win32=no
win32ce=no
graphics_win32=yes; graphics_win32_reason="host_os is mingw32"
speech_espeak=yes; speech_espeak_reason="host_os is mingw32"
support_libpng=yes
- LIBS="$LIBS -lwinmm"
+ MODULE_LIBADD="-Wl,-lwinmm"
;;
linux*_android)
android=yes
+ shared_libnavit=yes
+ bin_navit=no
AC_DEFINE(HAVE_API_ANDROID, 1, [Have Android API])
echo "void dl_unwind_find_exidx(void) {}" >crt0.c
$CC -c crt0.c
vehicle_android=yes; vehicle_android_reason="host_os is android"
graphics_android=yes; graphics_android_reason="host_os is android"
speech_android=yes; speech_android_reason="host_os is android"
- MODULE_LDFLAGS="-Xcompiler -nostdlib"
+ MODULE_LDFLAGS="-module -Xcompiler -nostdlib"
+ MODULE_LIBADD="-llog"
NAVIT_MODULE_LDFLAGS="$MODULE_LDFLAGS -L\$(top_builddir)/navit -lnavit"
;;
esac
AM_CONDITIONAL(SUPPORT_LIBPNG, [test "x$support_libpng" = "xyes"])
AC_SUBST(MODULE_LDFLAGS)
+AC_SUBST(MODULE_LIBADD)
AC_SUBST(NAVIT_MODULE_LDFLAGS)
LIBS="$LIBS -lm"
[],
Define to 1 if you have plugins.
)
+ if test "x${win32}" = "xyes"; then
+ shared_libnavit=yes
+ NAVIT_MODULE_LDFLAGS="-no-undefined -L\$(top_builddir)/navit -lnavit -L\$(top_builddir)/intl -lintl"
+ fi
else
AC_DISABLE_SHARED
AC_ENABLE_STATIC
fi
AM_CONDITIONAL(PLUGINS, [test "x$plugins" = "xyes"])
+AM_CONDITIONAL(SHARED_LIBNAVIT, [test "x$shared_libnavit" = "xyes"])
+AM_CONDITIONAL(BIN_NAVIT, [test "x$bin_navit" = "xyes"])
AC_PROG_LIBTOOL
AM_CONDITIONAL(EVENT_GLIB, [test "x$glib" = "xyes"])
AC_SUBST(POFILES)
AC_SUBST(POIFILES)
AM_GNU_GETTEXT_VERSION
-AM_GNU_GETTEXT(no-libtool, need-ngettext, \$(top_builddir)/intl/)
+AM_GNU_GETTEXT(use-libtool, need-ngettext, \$(top_builddir)/intl/)
AC_SUBST(LIBINTL)
AC_SUBST(LTLIBINTL)
if test x"$LIBINTL" != "x" ;then
AM_CPPFLAGS = -I$(top_srcdir)/navit/fib-1.1 @NAVIT_CFLAGS@ @ZLIB_CFLAGS@ -DPREFIX=\"@prefix@\" -DLIBDIR=\"@libdir@\" -DMODULE=navit
BUILT_SOURCES = version.h navit_config.h
-if SUPPORT_ANDROID
- lib_LTLIBRARIES = libnavit.la
- libnavit_la_LDFLAGS = -module -avoid-version @MODULE_LDFLAGS@ -Wl,--no-undefined
- libnavit_la_LIBADD = @NAVIT_LIBS@ @WORDEXP_LIBS@ @ZLIB_LIBS@ @INTLLIBS@ -Lfib-1.1 -lfib -llog
+if BIN_NAVIT
+ bin_PROGRAMS = navit
+endif
+if SHARED_LIBNAVIT
+ lib_LTLIBRARIES = libnavit.la
+ libnavit_la_LDFLAGS = -avoid-version @MODULE_LDFLAGS@ -no-undefined -Wl,--no-undefined
+ libnavit_la_LIBADD = @NAVIT_LIBS@ @WORDEXP_LIBS@ @ZLIB_LIBS@ @INTLLIBS@ -Lfib-1.1 -lfib @MODULE_LIBADD@
else
- bin_PROGRAMS = navit
noinst_LTLIBRARIES = libnavit.la
endif
include $(top_srcdir)/Makefile.inc
AM_CPPFLAGS = @NAVIT_CFLAGS@ @ZLIB_CFLAGS@ -I$(top_srcdir)/navit -DMODULE=graphics_win32
+libgraphics_win32_la_SOURCES = graphics_win32.c xpm2bmp.c
+libgraphics_win32_la_LDFLAGS = -module -avoid-version @NAVIT_MODULE_LDFLAGS@ -Wl,-lgdi32
if PLUGINS
modulegraphics_LTLIBRARIES = libgraphics_win32.la
else
noinst_LTLIBRARIES = libgraphics_win32.la
endif
-libgraphics_win32_la_SOURCES = graphics_win32.c xpm2bmp.c
-libgraphics_win32_la_LDFLAGS = -module -avoid-version
#ifdef HAVE_GMODULE
#include <gmodule.h>
#else
+#ifdef HAVE_API_WIN32_BASE
+#include <windows.h>
+#else
#include <dlfcn.h>
#endif
#endif
+#endif
#include "plugin.h"
#include "file.h"
#define PLUGIN_C
return 1;
}
+#ifdef HAVE_API_WIN32_BASE
+
+static void *
+g_module_open(char *name, int flags)
+{
+ HINSTANCE handle;
+ int len=MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, name, -1, 0, 0);
+ wchar_t filename[len];
+ MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, name, -1, filename, len) ;
+
+ dbg(0,"%s\n",name);
+ handle = LoadLibraryW (filename);
+ dbg(0,"handle=%p\n",handle);
+ dbg(0,"%d\n",GetLastError ());
+ return handle;
+}
+
+static char *
+g_module_error(void)
+{
+ return NULL;
+}
+
+static int
+g_module_symbol(GModule *handle, char *symbol, gpointer *addr)
+{
+ *addr=GetProcAddress ((HANDLE)handle, symbol);
+ return (*addr != NULL);
+}
+
+static void
+g_module_close(GModule *handle)
+{
+}
+
+#else
static void *
g_module_open(char *name, int flags)
{
{
dlclose(handle);
}
-
+#endif
#endif
#endif