Bill 2 years ago
commit ad87a2eabb

2
.gitignore vendored

@ -2,6 +2,8 @@
test.lib test.lib
test.exp test.exp
*.pdb *.pdb
dll.lib
dll.exp
libaquery.a libaquery.a
libaquery.lib libaquery.lib
server.lib server.lib

@ -3,11 +3,11 @@ MonetDB_LIB =
MonetDB_INC = MonetDB_INC =
Threading = Threading =
CXXFLAGS = --std=c++1z CXXFLAGS = --std=c++1z
OPTFLAGS = -g3 #-O3 -fno-semantic-interposition OPTFLAGS = -O3 -fno-semantic-interposition
LINKFLAGS = -flto LINKFLAGS = -flto
SHAREDFLAGS = -shared SHAREDFLAGS = -shared
FPIC = -fPIC FPIC = -fPIC
COMPILER = $(shell $(CXX) --version | grep -q 'clang' && echo "clang"|| echo "gcc") COMPILER = $(shell $(CXX) --version | grep -q clang && echo clang|| echo gcc)
LIBTOOL = LIBTOOL =
USELIB_FLAG = -Wl,--whole-archive,libaquery.a -Wl,-no-whole-archive USELIB_FLAG = -Wl,--whole-archive,libaquery.a -Wl,-no-whole-archive
LIBAQ_SRC = server/server.cpp server/monetdb_conn.cpp server/io.cpp LIBAQ_SRC = server/server.cpp server/monetdb_conn.cpp server/io.cpp
@ -19,6 +19,7 @@ else
PCHFLAGS = PCHFLAGS =
endif endif
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
NULL_DEVICE = NUL NULL_DEVICE = NUL
OS_SUPPORT += server/winhelper.cpp OS_SUPPORT += server/winhelper.cpp
@ -26,6 +27,9 @@ ifeq ($(OS),Windows_NT)
MonetDB_LIB += msc-plugin/monetdbe.dll MonetDB_LIB += msc-plugin/monetdbe.dll
MonetDB_INC += -Imonetdb/msvc MonetDB_INC += -Imonetdb/msvc
LIBTOOL = gcc-ar rcs LIBTOOL = gcc-ar rcs
ifeq ($(COMPILER), clang )
FPIC =
endif
else else
UNAME_S = $(shell uname -s) UNAME_S = $(shell uname -s)
UNAME_M = $(shell uname -m) UNAME_M = $(shell uname -m)
@ -64,7 +68,9 @@ info:
$(info "test") $(info "test")
$(info $(LIBTOOL)) $(info $(LIBTOOL))
$(info $(MonetDB_INC)) $(info $(MonetDB_INC))
$(info $(COMPILER))
$(info $(CXX)) $(info $(CXX))
$(info $(FPIC))
pch: pch:
$(CXX) -x c++-header server/pch.hpp $(FPIC) $(MonetDB_INC) $(OPTFLAGS) $(CXXFLAGS) $(Threading) $(CXX) -x c++-header server/pch.hpp $(FPIC) $(MonetDB_INC) $(OPTFLAGS) $(CXXFLAGS) $(Threading)
libaquery.a: libaquery.a:
@ -91,6 +97,6 @@ docker:
docker build -t aquery . docker build -t aquery .
clean: clean:
rm *.shm *.o dll.so server.so server.bin libaquery.a .cached -rf 2> $(NULL_DEVICE) || true rm *.shm *.o dll.so server.so server.bin -rf 2> $(NULL_DEVICE) || true

@ -4,5 +4,6 @@ mo-parsing==8.183.22158
mo-imports==7.169.22121 mo-imports==7.169.22121
dataclasses; python_version < '3.7' dataclasses; python_version < '3.7'
readline; sys_platform == 'linux' readline; sys_platform == 'linux'
vswhere; sys_platform == 'win32'
numpy numpy

@ -175,9 +175,11 @@ int dll_main(int argc, char** argv, Context* cxt){
user_module_handle = dlopen(mname, RTLD_LAZY); user_module_handle = dlopen(mname, RTLD_LAZY);
//getlasterror //getlasterror
#ifndef _MSC_VER
if (!user_module_handle) if (!user_module_handle)
#ifndef _MSC_VER
puts(dlerror()); puts(dlerror());
#else
printf("Fatal Error: Module %s failed to load with error code %d.\n", mname, GetLastError());
#endif #endif
user_module_map[mname] = user_module_handle; user_module_map[mname] = user_module_handle;
initialize_module(mname, user_module_handle, cxt); initialize_module(mname, user_module_handle, cxt);

Loading…
Cancel
Save