Skip to content
Snippets Groups Projects
Commit 691f6966 authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Fix GTK stuff for macOS

Remove the -E linker flag.
This should not be needed anymore, and isn't supported on macOS.

Have shared libraries include their full path.
This allows linked dylibs to work from where they were built, so
as long as you don't build the binaries on a CI machine, then try
to run them on a users machine (*cough*), it'll work out.

Use the correct rpath argument format on macOS.
It uses -rpath, not --rpath.
parent c56c9d90
Branches
Tags
1 merge request!488Overhaul LZH code
Pipeline #7483 passed
...@@ -150,12 +150,16 @@ ifndef NO_LD_RUN_PATH ...@@ -150,12 +150,16 @@ ifndef NO_LD_RUN_PATH
endif endif
CON_LIBS += -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices CON_LIBS += -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices
SHLIBOPTS := -shared
ifeq ($(os),sunos) ifeq ($(os),sunos)
MKSHLIB := /usr/ccs/bin/ld -G MKSHLIB := /usr/ccs/bin/ld -G
MKSHPPLIB := /usr/ccs/bin/ld -G MKSHPPLIB := /usr/ccs/bin/ld -G
SHLIBOPTS := SHLIBOPTS :=
else else
ifeq ($(os),darwin)
SHLIBOPTS = -shared -install_name `realpath $(SBBSDIR)`/$@
else
SHLIBOPTS := -shared
endif
MKSHLIB := $(CC) MKSHLIB := $(CC)
MKSHPPLIB := $(CXX) MKSHPPLIB := $(CXX)
endif endif
......
...@@ -24,19 +24,23 @@ endif ...@@ -24,19 +24,23 @@ endif
vpath %.c .. vpath %.c ..
CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags`
# Hopefully, -Wl,-E exports all symbols dynamically everywhere. LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-( # won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif endif
PARENT_DIR = $(shell dirname `pwd`) PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos) ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif endif
$(GTKMONITOR): $(OBJS) $(GTKMONITOR): $(OBJS)
......
...@@ -24,19 +24,23 @@ endif ...@@ -24,19 +24,23 @@ endif
vpath %.c .. vpath %.c ..
CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(JS_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags`
# Hopefully, -Wl,-E exports all symbols dynamically everywhere. LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-( # won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif endif
PARENT_DIR = $(shell dirname `pwd`) PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos) ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif endif
$(GTKUSEREDIT): $(OBJS) $(GTKUSEREDIT): $(OBJS)
......
...@@ -24,19 +24,23 @@ endif ...@@ -24,19 +24,23 @@ endif
vpath %.c .. vpath %.c ..
CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags` CFLAGS += $(SBBSDEFS) -I.. -I../../comio $(SMBLIB_CFLAGS) $(HASH_CFLAGS) $(XPDEV-MT_CFLAGS) $(CRYPT_CFLAGS) `pkg-config gtk+-3.0 --cflags`
# Hopefully, -Wl,-E exports all symbols dynamically everywhere. LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs` EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH # Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-( # won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif endif
PARENT_DIR = $(shell dirname `pwd`) PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR) LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos) ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif endif
$(GTKUSERLIST): $(OBJS) $(GTKUSERLIST): $(OBJS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment