Changeset: 6abe6e0ea79d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6abe6e0ea79d
Added Files:
tools/embedded/windows/sedscript.tpl
Removed Files:
tools/embedded/windows/sedscript
Modified Files:
monetdb5/extras/rapi/rapi.c
tools/embedded/build-rpkg.sh
tools/embedded/embedded.c
tools/embedded/rpackage/DESCRIPTION
tools/embedded/rpackage/configure.win
tools/embedded/windows/pmc.sh
Branch: embedded
Log Message:
Package now building on Windows
diffs (truncated from 721 to 300 lines):
diff --git a/monetdb5/extras/rapi/rapi.c b/monetdb5/extras/rapi/rapi.c
--- a/monetdb5/extras/rapi/rapi.c
+++ b/monetdb5/extras/rapi/rapi.c
@@ -325,7 +325,7 @@ str RAPIeval(Client cntxt, MalBlkPtr mb,
ParseStatus status;
int i = 0;
char argbuf[64];
- char argnames[1000] = "";
+ char argnames[10000] = "";
size_t pos;
char* rcall;
size_t rcalllen;
diff --git a/tools/embedded/build-rpkg.sh b/tools/embedded/build-rpkg.sh
--- a/tools/embedded/build-rpkg.sh
+++ b/tools/embedded/build-rpkg.sh
@@ -31,13 +31,15 @@ make sql_parser.tab.c
cd ../../../
cp sourcetree/sql/server/sql_parser.tab.* rpackage/src/sql/server/
-# bundle pcre for windows (TODO: also iconv/zlib/ ...?)
-# wget http://dev.monetdb.org/downloads/Windows/Libraries/libs-win64.zip
-# 7z x libs-win64.zip
-# cp -r pcre-8.37.win64 rpackage/src/tools/embedded/windows/
+# bundle pcre for windows
+wget http://dev.monetdb.org/Assets/R/misc/pcre-8.37.zip
+unzip pcre-8.37.zip
+mv pcre-8.37 rpackage/src/tools/embedded/windows/
mkdir -p rpackage/src/monetdb5/extras/rapi
touch rpackage/src/monetdb5/extras/rapi/placeholder
+# rm "rpackage/src/buildtools/conf/lt~obsolete.m4"
+
R CMD build rpackage
#scp $RPKG cwi:WWW/R
diff --git a/tools/embedded/embedded.c b/tools/embedded/embedded.c
--- a/tools/embedded/embedded.c
+++ b/tools/embedded/embedded.c
@@ -77,10 +77,6 @@ char* monetdb_startup(char* installdir,
MT_lock_set(&monetdb_embedded_lock, "monetdb.startup");
if (monetdb_embedded_initialized) goto cleanup;
-#ifdef NATIVE_WIN32
- SetDllDirectory(installdir);
-#endif
-
setlen = mo_builtin_settings(&set);
setlen = mo_add_option(&set, setlen, opt_cmdline, "gdk_dbpath", dbdir);
if (GDKinit(set, setlen) == 0) {
diff --git a/tools/embedded/rpackage/DESCRIPTION
b/tools/embedded/rpackage/DESCRIPTION
--- a/tools/embedded/rpackage/DESCRIPTION
+++ b/tools/embedded/rpackage/DESCRIPTION
@@ -1,6 +1,6 @@
Package: MonetDBLite
Version: 0.1.0
-Title: In-Process version of MonetDB for R
+Title: In-Process Version of MonetDB for R
Authors@R: c(person("Hannes Muehleisen", role = c("aut", "cre"), email =
"[email protected]"))
Author: Hannes Muehleisen [aut, cre]
Maintainer: Hannes Muehleisen <[email protected]>
diff --git a/tools/embedded/rpackage/configure.win
b/tools/embedded/rpackage/configure.win
--- a/tools/embedded/rpackage/configure.win
+++ b/tools/embedded/rpackage/configure.win
@@ -1,21 +1,32 @@
+# figure out where the sourcetree is
+SRC=`pwd | sed -e 's|/cygdrive/||' -e 's|/|:/|'`"/src"
+
+# patch sedscript for build/install/library paths
+sed -e "s|%PREFIX%|${R_PACKAGE_DIR}/libs|" -e "s|%SRCDIR%|$SRC|" -e
"s|%RINCLUDE%|${R_HOME}/include|" src/tools/embedded/windows/sedscript.tpl >
src/tools/embedded/windows/sedscript
+
# FIXME
-# patch sedscript for paths
+cp src/tools/embedded/windows/monetdb_config.h.in src/
-#sh src/tools/embedded/windows/pmc.sh
+# pmc stands for "poor man's configure", it does something similar using the
sedscript
+sh src/tools/embedded/windows/pmc.sh
+
cd src
-# FIXME
-find . -name "*.la" -delete
-# FIXME
-make
+make
+make install
cd tools/embedded
cp libembedded_la-embedded.lo libmonetdb5.o
cp libembedded.la libembedded.a
cp ../../sql/backends/monet5/lib_sql.la ../../sql/backends/monet5/libsql.a
-"${R_HOME}/bin/R.exe" CMD SHLIB -o libmonetdb5.dll libmonetdb5.o -L.
-L../../sql/backends/monet5 -Wl,--whole-archive -lembedded -lsql
-Wl,--no-whole-archive -lpthread -lpsapi -lws2_32 -static-libgcc
-static-libstdc++ -Wl,--export-all-symbols -Wl,--allow-multiple-definition
-Lwindows/pcre-8.37.win64/bin -lpcre
+"${R_HOME}/bin/R.exe" CMD SHLIB -o libmonetdb5.dll libmonetdb5.o -L.
-L../../sql/backends/monet5 -Wl,--whole-archive -lembedded -lsql
-Wl,--no-whole-archive -lpthread -lpsapi -lws2_32 -static-libgcc
-static-libstdc++ -Wl,--export-all-symbols -Wl,--allow-multiple-definition
-Lwindows/pcre-8.37/libs/x64/ -lpcre
cd ../../..
-mkdir -p $R_PACKAGE_DIR/libs
+mkdir -p $R_PACKAGE_DIR/libs/x64
cp src/tools/embedded/libmonetdb5.dll src/
+cp src/tools/embedded/windows/pcre-8.37/libs/x64/pcre.dll
$R_PACKAGE_DIR/libs/x64/
+
+# we have all of those in our fat DLL, so delete
+find ${R_PACKAGE_DIR}/libs -name "*.la" -delete
+rm -r $R_PACKAGE_DIR/libs/include $R_PACKAGE_DIR/libs/share
# When configure.win is run the environment variables R_HOME (which uses
â/â as the file separator), R_ARCH and Use R_ARCH_BIN will be set. Use
R_ARCH to decide if this is a 64-bit build (its value there is â/x64â) and
to install DLLs to the correct place (${R_HOME}/libs${R_ARCH}). Use R_ARCH_BIN
to find the correct place under the bin directory, e.g.
${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe.
diff --git a/tools/embedded/windows/pmc.sh b/tools/embedded/windows/pmc.sh
--- a/tools/embedded/windows/pmc.sh
+++ b/tools/embedded/windows/pmc.sh
@@ -1,18 +1,10 @@
-#echo $R_INCLUDE_DIR
-#echo $R_PACKAGE_DIR
-#echo $R_ARCH
-
if [ $# -eq 1 ]; then
NN=`echo $1 | sed 's/.in$//'`
echo $1
- # sedscript created using
- # grep -o "@[[:alnum:]_]*@" Makefile.in | sort -f | uniq | sed -e
"s/^/s|/" -e "s/$/||/" > sedscript
- sed -f tools/embedded/windows/sedscript $1 > $NN
+ # sedscript.in created using
+ # grep -o "@[[:alnum:]_]*@" Makefile.in | sort -f | uniq | sed -e
"s/^/s|/" -e "s/$/||/" > sedscript.tpl
+ sed -f src/tools/embedded/windows/sedscript $1 > $NN
else
- find . -name "*.in" -type f -exec sh $0 {} \;
+ touch src/config.status
+ find src -name "*.in" -type f -exec sh $0 {} \;
fi
-touch config.status
-cp tools/embedded/windows/sql_parser.tab.* sql/server/
-cp tools/embedded/windows/monetdb_config.h.in .
-
-# TODO: add source paths to sedscript
diff --git a/tools/embedded/windows/sedscript b/tools/embedded/windows/sedscript
deleted file mode 100644
--- a/tools/embedded/windows/sedscript
+++ /dev/null
@@ -1,290 +0,0 @@
-s|@abs_builddir@||
-s|@abs_srcdir@||
-s|@abs_top_builddir@||
-s|@abs_top_srcdir@||
-s|@ACLOCAL@||
-s|@ac_ct_AR@||
-s|@ac_ct_CC@||
-s|@ac_ct_DUMPBIN@||
-s|@AMTAR@||
-s|@AM_DEFAULT_V@|V|
-s|@AM_DEFAULT_VERBOSITY@|AM_DEFAULT_VERBOSITY|
-s|@AM_V@||
-s|@am__include@||
-s|@am__isrc@||
-s|@am__leading_dot@||
-s|@am__quote@||
-s|@am__tar@||
-s|@am__untar@||
-s|@ANT@||
-s|@anttranslatepath@||
-s|@AR@||
-s|@AS@||
-s|@atomic_ops_CFLAGS@||
-s|@atomic_ops_LIBS@||
-s|@AUTOCONF@||
-s|@AUTOHEADER@||
-s|@AUTOMAKE@||
-s|@AWK@|gawk|
-s|@BASH@|sh|
-s|@bindir@|${exec_prefix}/bin|
-s|@bits@||
-s|@BUILD@||
-s|@build@||
-s|@builddir@||
-s|@build_alias@||
-s|@build_cpu@||
-s|@build_os@||
-s|@build_vendor@||
-s|@builtby@||
-s|@BZ_CFLAGS@||
-s|@BZ_LIBS@||
-s|@CC@|gcc|
-s|@CCDEPMODE@||
-s|@cfitsio_CFLAGS@||
-s|@cfitsio_LIBS@||
-s|@CFLAGS@|-m64 -O3 -I"C:/Program Files/R/R-3.2.1/include"|
-s|@CLASSPATH@||
-s|@compilercall@||
-s|@configure_input@||
-s|@CONFIG_H@|monetdb_config.h|
-s|@CPP@||
-s|@CPPFLAGS@||
-s|@curl_CFLAGS@||
-s|@curl_LIBS@||
-s|@CYGPATH_W@||
-s|@CYGPATH_WP@||
-s|@datadir@|${prefix}/share|
-s|@datarootdir@|${prefix}/share|
-s|@DEFS@||
-s|@DEPDIR@||
-s|@DIFF@||
-s|@DIRSEP@||
-s|@DLLTOOL@||
-s|@DL_LIBS@||
-s|@docdir@||
-s|@DSYMUTIL@||
-s|@DUMPBIN@||
-s|@dvidir@||
-s|@ECHO_C@||
-s|@ECHO_N@||
-s|@ECHO_T@||
-s|@EGREP@||
-s|@Elocalstatedir@||
-s|@Elogdir@||
-s|@Erundir@||
-s|@exec_prefix@|${prefix}|
-s|@EXEEXT@||
-s|@FGREP@||
-s|@GDK_VERSION@||
-s|@GEOS_CONFIG@||
-s|@GEOS_INCS@||
-s|@GEOS_LIBS@||
-s|@GREP@||
-s|@gsl_CFLAGS@||
-s|@gsl_LIBS@||
-s|@host@||
-s|@host_alias@||
-s|@host_cpu@||
-s|@host_os@||
-s|@host_vendor@||
-s|@htmldir@||
-s|@includedir@|${prefix}/include|
-s|@infodir@||
-s|@INSTALL@|cp|
-s|@INSTALL_BACKUP@|cp|
-s|@INSTALL_DATA@|cp|
-s|@INSTALL_PROGRAM@|cp|
-s|@INSTALL_SCRIPT@|cp|
-s|@install_sh@|${SHELL} $(top_builddir)/buildtools/conf/install-sh|
-s|@INSTALL_STRIP_PROGRAM@||
-s|@JAR@||
-s|@JAVA@||
-s|@JAVAC@||
-s|@JAVACFLAGS@||
-s|@JAVADOC@||
-s|@JAVA_HOME@||
-s|@JAVA_VERSION@||
-s|@KVM_LIBS@||
-s|@LD@||
-s|@LDFLAGS@||
-s|@libdir@|${exec_prefix}/lib|
-s|@libexecdir@|${exec_prefix}/libexec|
-s|@LIBICONV@||
-s|@libmicrohttpd_CFLAGS@||
-s|@libmicrohttpd_LIBS@||
-s|@LIBOBJS@||
-s|@libr_CFLAGS@||
-s|@libr_LIBS@||
-s|@LIBS@||
-s|@LIBTOOL@|$(SHELL) $(top_builddir)/tools/embedded/windows/libtool.sh|
-s|@libxml2version@||
-s|@libxml2_CFLAGS@||
-s|@libxml2_LIBS@||
-s|@linkercall@||
-s|@LINUX_DIST@||
-s|@LIPO@||
-s|@LN_S@||
-s|@localedir@||
-s|@localstatedir@|${prefix}/var|
-s|@logdir@|${prefix}/log/monetdb|
-s|@LTLIBICONV@||
-s|@LTLIBOBJS@||
-s|@LT_SYS_LIBRARY_PATH@||
-s|@MAKEINFO@||
-s|@MALLOC_LIBS@||
-s|@mandir@||
-s|@MANIFEST_TOOL@||
-s|@MAPI_VERSION@||
-s|@MATH_LIBS@||
-s|@MKDIR_P@|mkdir -p|
-s|@mkdir_p@|mkdir -p|
-s|@MONETDB5_PASSWDHASH@||
-s|@MONETDB5_VERSION@||
-s|@MSGCONTROL_FLAGS@||
-s|@MV@||
-s|@netcdf_CFLAGS@||
-s|@netcdf_LIBS@||
-s|@NM@||
-s|@NMEDIT@||
-s|@OBJDUMP@||
-s|@OBJEXT@|o|
-s|@ODBCINST_LIBS@||
-s|@ODBC_INCS@||
-s|@ODBC_LIBS@||
-s|@oids@||
-s|@oldincludedir@||
-s|@opensslversion@||
-s|@openssl_CFLAGS@||
-s|@openssl_LIBS@||
-s|@OTOOL64@||
-s|@OTOOL@||
-s|@PACKAGE@||
-s|@PACKAGE_BUGREPORT@||
-s|@PACKAGE_NAME@||
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list