Skip to content
Snippets Groups Projects
Commit 750dba01 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 02687763
No related branches found
No related tags found
No related merge requests found
......@@ -150,12 +150,16 @@ ifndef NO_LD_RUN_PATH
endif
CON_LIBS += -lsbbs -lftpsrvr -lwebsrvr -lmailsrvr -lservices
SHLIBOPTS := -shared
ifeq ($(os),sunos)
MKSHLIB := /usr/ccs/bin/ld -G
MKSHPPLIB := /usr/ccs/bin/ld -G
SHLIBOPTS :=
else
ifeq ($(os),darwin)
SHLIBOPTS = -shared -install_name `realpath $(SBBSDIR)`/$@
else
SHLIBOPTS := -shared
endif
MKSHLIB := $(CC)
MKSHPPLIB := $(CXX)
endif
......
......@@ -24,19 +24,23 @@ endif
vpath %.c ..
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 += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec
LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif
PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR)
LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib
LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif
$(GTKMONITOR): $(OBJS)
......
......@@ -24,19 +24,23 @@ endif
vpath %.c ..
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 += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec
LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif
PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR)
LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib
LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif
$(GTKUSEREDIT): $(OBJS)
......
......@@ -24,19 +24,23 @@ endif
vpath %.c ..
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 += -Wl,-E -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
LDFLAGS += -L../$(LIBODIR) $(SMBLIB_LDFLAGS) $(XPDEV-MT_LDFLAGS) $(MT_LDFLAGS)
EXTRA_LIBS += `pkg-config gtk+-3.0 --libs`
# Because pkg-config for libglade uses --rpath, we need to also, LD_RUN_PATH
# won't work. :-(
ifeq ($(os),darwin)
RPATH := -rpath
else
RPATH := --rpath
endif
ifdef SBBSDIR
LDFLAGS += -Wl,--rpath -Wl,$(SBBSDIR)/exec
LDFLAGS += -Wl,$(RPATH),$(SBBSDIR)/exec
endif
PARENT_DIR = $(shell dirname `pwd`)
LDFLAGS += -Wl,--rpath -Wl,$(PARENT_DIR)/$(LIBODIR)
LDFLAGS += -Wl,$(RPATH),$(PARENT_DIR)/$(LIBODIR)
ifeq ($(os),sunos)
LDFLAGS += -Wl,--rpath -Wl,/opt/sfw/gcc-3/lib
LDFLAGS += -Wl,$(RPATH),/opt/sfw/gcc-3/lib
endif
$(GTKUSERLIST): $(OBJS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment