From 918b86dc18fdd4f5da842bebd0958eb4b1e3072e Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Tue, 26 May 2020 22:06:03 +1000 Subject: [PATCH] Fix OpenBSD build and update various build files to remove -lcurl --- misc/buildbot.sh | 10 +++++----- readme.md | 22 +++++++++++----------- src/Http.c | 3 +++ src/Makefile | 16 ++++++++-------- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/misc/buildbot.sh b/misc/buildbot.sh index 69f4686fc..0d15db302 100644 --- a/misc/buildbot.sh +++ b/misc/buildbot.sh @@ -62,26 +62,26 @@ build_nix32() { echo "Building linux32.." cp $SOURCE_DIR/misc/CCicon_nix32 $SOURCE_DIR/src/CCicon_nix32.o rm cc-nix32 - gcc *.c $ALL_FLAGS $LINUX_FLAGS CCicon_nix32.o -DCC_COMMIT_SHA=\"$LATEST\" -m32 -o cc-nix32 -lX11 -lXi -lpthread -lGL -lm -lcurl -ldl + gcc *.c $ALL_FLAGS $LINUX_FLAGS CCicon_nix32.o -DCC_COMMIT_SHA=\"$LATEST\" -m32 -o cc-nix32 -lX11 -lXi -lpthread -lGL -lm -ldl } build_nix64() { echo "Building linux64.." cp $SOURCE_DIR/misc/CCicon_nix64 $SOURCE_DIR/src/CCicon_nix64.o rm cc-nix64 - gcc *.c $ALL_FLAGS $LINUX_FLAGS CCicon_nix64.o -DCC_COMMIT_SHA=\"$LATEST\" -m64 -o cc-nix64 -lX11 -lXi -lpthread -lGL -lm -lcurl -ldl + gcc *.c $ALL_FLAGS $LINUX_FLAGS CCicon_nix64.o -DCC_COMMIT_SHA=\"$LATEST\" -m64 -o cc-nix64 -lX11 -lXi -lpthread -lGL -lm -ldl } build_osx32() { echo "Building mac32.." rm cc-osx32 - $MAC32_CC *.c $ALL_FLAGS -fvisibility=hidden -rdynamic -DCC_COMMIT_SHA=\"$LATEST\" -o cc-osx32 -framework Carbon -framework AGL -framework OpenAL -framework OpenGL -lcurl + $MAC32_CC *.c $ALL_FLAGS -fvisibility=hidden -rdynamic -DCC_COMMIT_SHA=\"$LATEST\" -o cc-osx32 -framework Carbon -framework AGL -framework OpenGL } build_osx64() { echo "Building mac64.." rm cc-osx64 - $MAC64_CC *.c $ALL_FLAGS -fvisibility=hidden -rdynamic -DCC_COMMIT_SHA=\"$LATEST\" -o cc-osx64 -framework Cocoa -framework OpenAL -framework OpenGL -lcurl -lobjc + $MAC64_CC *.c $ALL_FLAGS -fvisibility=hidden -rdynamic -DCC_COMMIT_SHA=\"$LATEST\" -o cc-osx64 -framework Cocoa -framework OpenGL -lobjc } build_web() { @@ -101,7 +101,7 @@ build_rpi() { echo "Building rpi.." cp $SOURCE_DIR/misc/CCicon_rpi $SOURCE_DIR/src/CCicon_rpi.o rm cc-rpi - $RPI_CC *.c $ALL_FLAGS $LINUX_FLAGS CCicon_rpi.o -DCC_COMMIT_SHA=\"$LATEST\" -o cc-rpi -DCC_BUILD_RPI -I ~/rpi/include -L ~/rpi/lib -lGLESv2 -lEGL -lX11 -lXi -lcurl -lm -lpthread -ldl -lrt -Wl,-rpath-link ~/rpi/lib + $RPI_CC *.c $ALL_FLAGS $LINUX_FLAGS CCicon_rpi.o -DCC_COMMIT_SHA=\"$LATEST\" -o cc-rpi -DCC_BUILD_RPI -I ~/rpi/include -L ~/rpi/lib -lGLESv2 -lEGL -lX11 -lXi -lm -lpthread -ldl -lrt -Wl,-rpath-link ~/rpi/lib } # ----------------------------- diff --git a/readme.md b/readme.md index 873fc3bdf..caee505f7 100644 --- a/readme.md +++ b/readme.md @@ -55,9 +55,9 @@ I am assuming you used the installer from http://www.mingw.org/ #### Linux -Install appropriate libs as required. For ubuntu these are: libx11-dev, libxi-dev, libgl1-mesa-dev, libcurl4-gnutls-dev or libcurl4-openssl-dev +Install appropriate libs as required. For ubuntu these are: libx11-dev, libxi-dev and libgl1-mesa-dev -```gcc *.c -o ClassiCube -lm -lpthread -lX11 -lXi -lGL -lcurl -ldl``` +```gcc *.c -o ClassiCube -lm -lpthread -lX11 -lXi -lGL -ldl``` ##### Cross compiling for windows: @@ -66,37 +66,37 @@ Install appropriate libs as required. For ubuntu these are: libx11-dev, libxi-de ##### Raspberry pi Although the regular linux compiliation flags will work fine, to take full advantage of the hardware: -```gcc *.c -o ClassiCube -DCC_BUILD_RPI -lm -lpthread -lX11 -lEGL -lGLESv2 -lcurl -ldl``` +```gcc *.c -o ClassiCube -DCC_BUILD_RPI -lm -lpthread -lX11 -lEGL -lGLESv2 -ldl``` #### macOS (32 bit) -```gcc *.c -o ClassiCube -framework Carbon -framework AGL -framework OpenGL -lcurl``` +```gcc *.c -o ClassiCube -framework Carbon -framework AGL -framework OpenGL``` #### macOS (64 bit) -```gcc *.c -o ClassiCube -framework Cocoa -framework OpenGL -lcurl -lobjc``` +```gcc *.c -o ClassiCube -framework Cocoa -framework OpenGL -lobjc``` #### FreeBSD -```clang *.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lcurl -lexecinfo``` +```clang *.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo``` #### OpenBSD Install libexecinfo package if needed. -```gcc *.c -o ClassiCube -I /usr/X11R6/include -I /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib -lX11 -lXi -lGL -lcurl -lexecinfo``` +```gcc *.c -o ClassiCube -I /usr/X11R6/include -I /usr/local/include -L /usr/X11R6/lib -L /usr/local/lib -lX11 -lXi -lGL -lexecinfo``` #### NetBSD -```gcc *.c -o ClassiCube -I /usr/X11R7/include -I /usr/pkg/include -L /usr/X11R7/lib -L /usr/pkg/lib -lpthread -lX11 -lXi -lGL -lcurl -lexecinfo``` +```gcc *.c -o ClassiCube -I /usr/X11R7/include -I /usr/pkg/include -L /usr/X11R7/lib -L /usr/pkg/lib -lpthread -lX11 -lXi -lGL -lexecinfo``` #### DragonflyBSD -```gcc *.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lcurl -lexecinfo``` +```gcc *.c -o ClassiCube -I /usr/local/include -L /usr/local/lib -lm -lpthread -lX11 -lXi -lGL -lexecinfo``` #### Solaris -```gcc *.c -o ClassiCube -lm -lsocket -lX11 -lXi -lGL -lcurl``` +```gcc *.c -o ClassiCube -lm -lsocket -lX11 -lXi -lGL``` NOTE: You have to change entry->d_type == DT_DIR to Directory_Exists(&path) (TODO do this automatically) @@ -104,7 +104,7 @@ NOTE: You have to change entry->d_type == DT_DIR to Directory_Exists(&path) (TOD Install libsdl2_devel, openal_devel, and libexecinfo_devel package if needed. -```gcc *.c -o ClassiCube -lm -lcurl -lexecinfo -lGL -lnetwork -lSDL2``` +```gcc *.c -o ClassiCube -lm -lexecinfo -lGL -lnetwork -lSDL2``` NOTE: You have to change entry->d_type == DT_DIR to Directory_Exists(&path) (TODO do this automatically) diff --git a/src/Http.c b/src/Http.c index 22be014f9..d02a3f9ad 100644 --- a/src/Http.c +++ b/src/Http.c @@ -689,11 +689,14 @@ typedef void (APIENTRY *FP_curl_easy_cleanup)(CURL* c); static FP_curl_ea typedef const char* (APIENTRY *FP_curl_easy_strerror)(CURLcode res); static FP_curl_easy_strerror _curl_easy_strerror; typedef void (APIENTRY *FP_curl_slist_free_all)(struct curl_slist* l); static FP_curl_slist_free_all _curl_slist_free_all; typedef struct curl_slist* (APIENTRY *FP_curl_slist_append)(struct curl_slist* l, const char* v); static FP_curl_slist_append _curl_slist_append; +/* End of curl headers */ #if defined CC_BUILD_WIN static const String curlLib = String_FromConst("libcurl.dll"); #elif defined CC_BUILD_OSX static const String curlLib = String_FromConst("/usr/lib/libcurl.dylib"); +#elif defined CC_BUILD_OPENBSD +static const String curlLib = String_FromConst("libcurl.so.25.17"); #else static const String curlLib = String_FromConst("libcurl.so.4"); #endif diff --git a/src/Makefile b/src/Makefile index ca487ba5b..6a05b1e61 100644 --- a/src/Makefile +++ b/src/Makefile @@ -30,15 +30,15 @@ LIBS=-mwindows -lws2_32 -lwininet -lwinmm -limagehlp -lcrypt32 -ld3d9 endif ifeq ($(PLAT),linux) -LIBS=-lX11 -lXi -lpthread -lGL -lm -ldl -lcurl +LIBS=-lX11 -lXi -lpthread -lGL -lm -ldl endif ifeq ($(PLAT),sunos) -LIBS=-lm -lsocket -lX11 -lXi -lGL -lcurl +LIBS=-lm -lsocket -lX11 -lXi -lGL endif ifeq ($(PLAT),darwin) -LIBS=-lcurl +LIBS= LDFLAGS=-rdynamic -framework Carbon -framework AGL -framework OpenGL endif @@ -46,31 +46,31 @@ ifeq ($(PLAT),freebsd) CC=clang CFLAGS=-g -pipe -rdynamic -I /usr/local/include -fno-math-errno LDFLAGS=-L /usr/local/lib -LIBS=-lcurl -lexecinfo -lGL -lX11 -lXi -lm -lpthread +LIBS=-lexecinfo -lGL -lX11 -lXi -lm -lpthread endif ifeq ($(PLAT),openbsd) CFLAGS=-g -pipe -rdynamic -I /usr/X11R6/include -I /usr/local/include -fno-math-errno LDFLAGS=-L /usr/X11R6/lib -L /usr/local/lib -LIBS=-lcurl -lexecinfo -lGL -lX11 -lXi +LIBS=-lexecinfo -lGL -lX11 -lXi endif ifeq ($(PLAT),netbsd) CFLAGS=-g -pipe -rdynamic -I /usr/X11R7/include -I /usr/pkg/include -fno-math-errno LDFLAGS=-L /usr/X11R7/lib -L /usr/pkg/lib -LIBS=-lcurl -lexecinfo -lGL -lX11 -lXi +LIBS=-lexecinfo -lGL -lX11 -lXi endif ifeq ($(PLAT),dragonfly) CFLAGS=-g -pipe -rdynamic -I /usr/local/include -fno-math-errno LDFLAGS=-L /usr/local/lib -LIBS=-lcurl -lexecinfo -lGL -lX11 -lXi -lm -lpthread +LIBS=-lexecinfo -lGL -lX11 -lXi -lm -lpthread endif ifeq ($(PLAT),haiku) CFLAGS=-g -pipe -fno-math-errno LDFLAGS=-g -LIBS=-lcurl -lm -lexecinfo -lGL -lnetwork -lSDL2 +LIBS=-lm -lexecinfo -lGL -lnetwork -lSDL2 endif ifeq ($(OS),Windows_NT)