From d48ca850b23160f0fc95eaa5599944809d8d6ca2 Mon Sep 17 00:00:00 2001 From: Sanel Zukan Date: Thu, 12 Nov 2009 13:22:16 +0000 Subject: [PATCH] ld on OpenSolaris uses different flag for shared libraries --- ede-panel/Jamfile | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/ede-panel/Jamfile b/ede-panel/Jamfile index 513f280..0014dfd 100644 --- a/ede-panel/Jamfile +++ b/ede-panel/Jamfile @@ -18,12 +18,21 @@ NETWMLIB = -L$(SUBDIR) -lnetwm ; EdeProgram ede-panel : Panel.cpp AppletManager.cpp ede-panel.cpp ; LinkAgainst ede-panel : $(NETWMLIB) ; -# also must use this flag or program will crash -LINKFLAGS on ede-panel = -rdynamic ; +if $(OS) != "SOLARIS" { + # also must use this flag (on anything but Solaris) or program will crash + LINKFLAGS on ede-panel = -rdynamic ; +} rule PanelApplet { - local target ; + local target linker_stuff ; + + # FIXME: these are gcc specific flags + if $(OS) = "SOLARIS" { + linker_stuff = "-G" ; + } else { + linker_stuff = "-shared -rdynamic" ; + } # append default extension target = $(<:S=$(SUFLIB_SHARED)) ; @@ -32,7 +41,7 @@ rule PanelApplet ObjectC++Flags $(>) : -fPIC $(FLTKINCLUDE) -I [ FDirName $(TOP) ede-panel ] $(EDELIBINCLUDE) ; LinkAgainst $(target) : $(NETWMLIB) $(3) $(EDELIBLIB) $(EDELIB_GUI_LIB) $(FLTKLIB) $(STDLIB) ; - LINKFLAGS on $(target) = -shared -rdynamic [ on $(target) return $(LINKFLAGS) ] ; + LINKFLAGS on $(target) = $(linker_stuff) [ on $(target) return $(LINKFLAGS) ] ; InstallProgram $(EDE_PANEL_APPLETS_DIR) : $(target) ;