Skip to content

Commit

Permalink
fix --enable-cairoext in configure
Browse files Browse the repository at this point in the history
fix shared library cairo build (shared library name under Linux)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
  • Loading branch information
yuri committed Jan 27, 2009
1 parent b4a3ce9 commit d474e13
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 81 deletions.
70 changes: 35 additions & 35 deletions cairo/Makefile
Expand Up @@ -43,47 +43,47 @@ $(CAIROLIBNAME): $(CAIROOBJECTS)
$(LIBCOMMAND) $@ $(CAIROOBJECTS)
$(RANLIB) $@

../src/libfltk_cairo.so.1.3: $(CAIROOBJECTS) ../src/libfltk.so.1.3
libfltk_cairo.so.1.3: $(CAIROOBJECTS) ../src/libfltk.so.1.3
echo $(DSOCOMMAND) $@ ...
$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src -lfltk
$(RM) ../src/libfltk_cairo.so
$(LN) $(CAIRODSONAME) ../src/libfltk_cairo.so
$(RM) libfltk_cairo.so
$(LN) $(CAIRODSONAME) libfltk_cairo.so

../src/libfltk_cairo.sl.1.3: $(CAIROOBJECTS) ../src/libfltk.sl.1.3
libfltk_cairo.sl.1.3: $(CAIROOBJECTS) ../src/libfltk.sl.1.3
echo $(DSOCOMMAND) $@ ...
$(DSOCOMMAND) $@ $(CAIROOBJECTS) -L../src -lfltk
$(RM) ../src/libfltk_cairo.sl
$(LN) ../src/libfltk_cairo.sl.1.3 ../src/libfltk_cairo.sl
$(RM) libfltk_cairo.sl
$(LN) libfltk_cairo.sl.1.3 libfltk_cairo.sl

../src/libfltk_cairo.1.3.dylib: $(CAIROOBJECTS) ../src/libfltk.1.3.dylib
libfltk_cairo.1.3.dylib: $(CAIROOBJECTS) ../src/libfltk.1.3.dylib
echo $(DSOCOMMAND) $@ ...
$(DSOCOMMAND) $@ \
-install_name $(libdir)/$@ \
-current_version 1.3.0 \
-compatibility_version 1.3.0 \
$(CAIROOBJECTS) -L../src $(LDLIBS) $(CAIROLIBS) -lfltk
$(RM) ../src/libfltk_cairo.dylib
$(LN) ../src/libfltk_cairo.1.3.dylib ../src/libfltk_cairo.dylib
$(RM) libfltk_cairo.dylib
$(LN) libfltk_cairo.1.3.dylib libfltk_cairo.dylib

../src/libfltk_cairo_s.a: $(CAIROOBJECTS)
libfltk_cairo_s.a: $(CAIROOBJECTS)
echo $(DSOCOMMAND) libfltk_cairo_s.o ...
$(DSOCOMMAND) ../src/libfltk_cairo_s.o $(CAIROOBJECTS)
echo $(LIBCOMMAND) ../src/libfltk_cairo_s.a ../src/libfltk_cairo_s.o
$(DSOCOMMAND) libfltk_cairo_s.o $(CAIROOBJECTS)
echo $(LIBCOMMAND) libfltk_cairo_s.a src/libfltk_cairo_s.o
$(RM) $@
$(LIBCOMMAND) ../src/libfltk_cairo_s.a ../src/libfltk_cairo_s.o
$(CHMOD) +x ../src/libfltk_cairo_s.a
$(LIBCOMMAND) src/libfltk_cairo_s.a src/libfltk_cairo_s.o
$(CHMOD) +x src/libfltk_cairo_s.a


../src/cygfltknox_cairo-1.3.dll: $(CAIROLIBNAME) ../src/cygfltknox-1.3.dll
cygfltknox_cairo-1.3.dll: $(CAIROLIBNAME) ../src/cygfltknox-1.3.dll
echo $(DSOCOMMAND) $(CAIROLIBNAME) ...
$(DSOCOMMAND) $(CAIROLIBNAME) -Wl,--no-whole-archive \
-Wl,--out-implib=../src/libfltk_cairo.dll.a \
-Wl,--out-implib=libfltk_cairo.dll.a \
-L../src -lfltk $(CAIROLIBS) $(LDLIBS)

../src/mgwfltknox_cairo-1.3.dll: $(CAIROLIBNAME) ../src/mgwfltknox-1.3.dll
mgwfltknox_cairo-1.3.dll: $(CAIROLIBNAME) ../src/mgwfltknox-1.3.dll
echo $(DSOCOMMAND) $(CAIROLIBNAME) ...
$(DSOCOMMAND) $(CAIROLIBNAME) -Wl,--no-whole-archive \
-Wl,--out-implib=../src/libfltk_cairo.dll.a \
-Wl,--out-implib=libfltk_cairo.dll.a \
-L../src -lfltk $(CAIROLIBS) $(LDLIBS)

#
Expand All @@ -93,7 +93,7 @@ $(CAIROLIBNAME): $(CAIROOBJECTS)
clean:
-$(RM) *.o *.dll.a core.* *~ *.bak *.bck
-$(RM) $(CAIROOBJECTS) $(CAIROLIBNAME) $(CAIRODSONAME) \
../src/libfltk_cairo.so ../src/libfltk_cairo.sl ../src/libfltk_cairo.dylib
libfltk_cairo.so src/libfltk_cairo.sl src/libfltk_cairo.dylib

#
# Install everything...
Expand All @@ -104,36 +104,36 @@ install: $(CAIROLIBNAME) $(CAIRODSONAME)
-$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_LIB) $(CAIROLIBNAME) $(DESTDIR)$(libdir)

if test x$(CAIRODSONAME) = x../src/libfltk_cairo.so.1.3; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo.so.1.3; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.so*;\
$(INSTALL_LIB) ../src/libfltk_cairo.so.1.3 $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo.so.1.3 $(DESTDIR)$(libdir); \
$(LN) $(DESTDIR)$(libdir)/libfltk_cairo.so.1.3 $(DESTDIR)$(libdir)/libfltk_cairo.so;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo.sl.1.3; then\
if test x$(CAIRODSONAME) = xsrc/libfltk_cairo.sl.1.3; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.sl*;\
$(INSTALL_LIB) ../src/libfltk_cairo.sl.1.3 $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo.sl.1.3 $(DESTDIR)$(libdir); \
$(LN) $(DESTDIR)$(libdir)/libfltk_cairo.sl.1.3 $(DESTDIR)$(libdir)/libfltk_cairo.sl;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo.1.3.dylib; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo.1.3.dylib; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.*dylib;\
$(INSTALL_LIB) ../src/libfltk_cairo.1.3.dylib $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo.1.3.dylib $(DESTDIR)$(libdir); \
$(LN) $(DESTDIR)$(libdir)/libfltk_cairo.1.3.dylib $(DESTDIR)$(libdir)/libfltk_cairo.dylib;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo_s.a; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo_s.a; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo_s.a;\
$(INSTALL_LIB) ../src/libfltk_cairo_s.a $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo_s.a $(DESTDIR)$(libdir); \
fi
if test x$(CAIRODSONAME) = xcygfltknox_cairo-1.3.dll; then\
$(RM) $(DESTDIR)$(bindir)/$(CAIRODSONAME); \
$(INSTALL_LIB) $(CAIRODSONAME) $(DESTDIR)$(bindir); \
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.dll.a;\
$(INSTALL_LIB) ../src/libfltk_cairo.dll.a $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo.dll.a $(DESTDIR)$(libdir); \
fi
if test x$(CAIRODSONAME) = xmgwfltknox_cairo-1.3.dll; then\
$(RM) $(DESTDIR)$(bindir)/$(CAIRODSONAME); \
$(INSTALL_LIB) $(CAIRODSONAME) $(DESTDIR)$(bindir); \
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.dll.a;\
$(INSTALL_LIB) ../src/libfltk_cairo.dll.a $(DESTDIR)$(libdir); \
$(INSTALL_LIB) libfltk_cairo.dll.a $(DESTDIR)$(libdir); \
fi
#
# Uninstall everything...
Expand All @@ -144,23 +144,23 @@ uninstall:
if test x$(CAIROLIBNAME) != x; then\
$(RM) $(DESTDIR)$(libdir)/$(CAIROLIBNAME);\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo.so.1.3; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo.so.1.3; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.so*;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo.sl.1.3; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo.sl.1.3; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.sl*;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo.1.3.dylib; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo.1.3.dylib; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.*dylib;\
fi
if test x$(CAIRODSONAME) = x../src/libfltk_cairo_s.a; then\
if test x$(CAIRODSONAME) = xlibfltk_cairo_s.a; then\
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo_s.a;\
fi
if test x$(CAIRODSONAME) = x../src/cygfltknox_cairo-1.3.dll; then\
if test x$(CAIRODSONAME) = xcygfltknox_cairo-1.3.dll; then\
$(RM) $(DESTDIR)$(bindir)/$(CAIRODSONAME); \
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.dll.a;\
fi
if test x$(CAIRODSONAME) = x../src/mgwfltknox_cairo-1.3.dll; then\
if test x$(CAIRODSONAME) = xmgwfltknox_cairo-1.3.dll; then\
$(RM) $(DESTDIR)$(bindir)/$(CAIRODSONAME); \
$(RM) $(DESTDIR)$(libdir)/libfltk_cairo.dll.a;\
fi
Expand Down
97 changes: 51 additions & 46 deletions configure.in
Expand Up @@ -105,42 +105,16 @@ GLLIBBASENAME="libfltk_gl.a"
IMGLIBBASENAME="libfltk_images.a"
CAIROLIBBASENAME="libfltk_cairo.a"

AC_SUBST(FLLIBNAME)
AC_SUBST(GLDEMOS)
AC_SUBST(GLLIBNAME)
AC_SUBST(IMGLIBNAME)
AC_SUBST(CAIROLIBNAME)
AC_SUBST(LIBEXT)
AC_SUBST(LIBNAME)
AC_SUBST(LINKFLTK)
AC_SUBST(LINKFLTKFORMS)
AC_SUBST(LINKFLTKGL)
AC_SUBST(LINKFLTKIMG)

AC_SUBST(LIBBASENAME)
AC_SUBST(FLLIBBASENAME)
AC_SUBST(GLLIBBASENAME)
AC_SUBST(IMGLIBBASENAME)
AC_SUBST(CAIROLIBBASENAME)

dnl Handle compile-time options...
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]])
if test x$enable_debug = xyes; then
DEBUGFLAG="-g "
else
DEBUGFLAG=""
fi

AC_ARG_ENABLE(gl, [ --enable-gl turn on OpenGL support [default=yes]])

dnl Check for Cairo library unless disabled...
CAIRODIR=""
CAIROFLAGS=""
LINKFLTKCAIRO=""
FLTKCAIROOPTION=""
CAIROLIBS=""

AC_ARG_ENABLE(cairo,[ --enable-cairoext use fltk code instrumentation for cairo extended use (default=no)])
AC_ARG_ENABLE(cairoext,[ --enable-cairoext use fltk code instrumentation for cairo extended use (default=no)])
AC_ARG_ENABLE(cairo,[ --enable-cairo use lib Cairo (default=no)])

if test x$enable_cairoext = xyes; then
AC_DEFINE(USE_CAIRO)
AC_DEFINE(HAVE_CAIRO)
Expand All @@ -151,12 +125,12 @@ if test x$enable_cairoext = xyes; then
CAIROLIBS="-lcairo -lpixman-1"
CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
LINKFLTKCAIRO="../lib/libfltk_cairo.a"
FLTKCAIROOPTION="-lfltk_cairo$SHAREDSUFFIX"
LIBS="$CAIROLIBS $LINKFLTKCAIRO $LIBS"
fi

AC_ARG_ENABLE(cairo,[ --enable-cairo use lib Cairo (default=no)])
if test x$enable_cairo = xyes; then
FLTKCAIROOPTION="-L ../cairo -lfltk_cairo$SHAREDSUFFIX"
LIBS="$CAIROLIBS $LIBS"
dnl $LINKFLTKCAIRO
LINKFLTK+=" $LINKFLTKCAIRO"
else
if test x$enable_cairo = xyes; then
AC_DEFINE(HAVE_CAIRO)
dnl FIXME This part should be fixed so configure do not depend on
dnl we do not rely on pkg-config .
Expand All @@ -165,14 +139,45 @@ if test x$enable_cairo = xyes; then
CAIROLIBS="-lcairo -lpixman-1"
CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
LINKFLTKCAIRO="../lib/libfltk_cairo.a"
FLTKCAIROOPTION="-lfltk_cairo$SHAREDSUFFIX"
FLTKCAIROOPTION="-L ../cairo -lfltk_cairo$SHAREDSUFFIX"
fi
fi

AC_SUBST(CAIRODIR)
AC_SUBST(CAIROFLAGS)
AC_SUBST(CAIROLIBS)
AC_SUBST(LINKFLTKCAIRO)
AC_SUBST(FLTKCAIROOPTION)


AC_SUBST(FLLIBNAME)
AC_SUBST(GLDEMOS)
AC_SUBST(GLLIBNAME)
AC_SUBST(IMGLIBNAME)
AC_SUBST(CAIROLIBNAME)
AC_SUBST(LIBEXT)
AC_SUBST(LIBNAME)
AC_SUBST(LINKFLTK)
AC_SUBST(LINKFLTKFORMS)
AC_SUBST(LINKFLTKGL)
AC_SUBST(LINKFLTKIMG)

AC_SUBST(LIBBASENAME)
AC_SUBST(FLLIBBASENAME)
AC_SUBST(GLLIBBASENAME)
AC_SUBST(IMGLIBBASENAME)
AC_SUBST(CAIROLIBBASENAME)

dnl Handle compile-time options...
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]])
if test x$enable_debug = xyes; then
DEBUGFLAG="-g "
else
DEBUGFLAG=""
fi

AC_ARG_ENABLE(gl, [ --enable-gl turn on OpenGL support [default=yes]])

AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]])
if test x$enable_shared = xyes; then
PICFLAG=1
Expand All @@ -185,7 +190,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.$FL_API_VERSION.dylib"
GLDSONAME="libfltk_gl.$FL_API_VERSION.dylib"
IMGDSONAME="libfltk_images.$FL_API_VERSION.dylib"
CAIRODSONAME="../src/libfltk_cairo.$FL_API_VERSION.dylib"
CAIRODSONAME="libfltk_cairo.$FL_API_VERSION.dylib"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -dynamiclib -lc -o"
;;

Expand All @@ -194,7 +199,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.so.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -h \$@ \$(LDLIBS) -G $DEBUGFLAG -o"
if test "x$libdir" != "x/usr/lib"; then
DSOLINK="-R$libdir"
Expand All @@ -205,7 +210,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.sl.$FL_API_VERSION"
GLDSONAME="libfltk_gl.sl.$FL_API_VERSION"
IMGDSONAME="libfltk_images.sl.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.sl.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.sl.$FL_API_VERSION"
DSOCOMMAND="ld \$(DSOFLAGS) -b -z +h \$@ $DEBUGFLAG -o"
if test "x$libdir" != "x/usr/lib"; then
DSOLINK="-Wl,-rpath,$libdir"
Expand All @@ -216,7 +221,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.so.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@,-set_version,sgi1.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib32" -a "x$libdir" != "x/usr/lib64"; then
DSOLINK="-Wl,-rpath,$libdir"
Expand All @@ -227,7 +232,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.so.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib32"; then
DSOLINK="-Wl,-rpath,$libdir"
Expand All @@ -238,7 +243,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.so.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
if test "x$libdir" != "x/usr/lib"; then
DSOLINK="-Wl,-rpath,$libdir"
Expand All @@ -249,7 +254,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms_s.a"
GLDSONAME="libfltk_gl_s.a"
IMGDSONAME="libfltk_images_s.a"
CAIRODSONAME="../src/libfltk_cairo_s.a"
CAIRODSONAME="libfltk_cairo_s.a"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-bexpall,-bM:SRE,-bnoentry -o"
SHAREDSUFFIX="_s"
;;
Expand All @@ -260,13 +265,13 @@ if test x$enable_shared = xyes; then
FLDSONAME="mgwfltknox_forms-$FL_API_VERSION.dll"
GLDSONAME="mgwfltknox_gl-$FL_API_VERSION.dll"
IMGDSONAME="mgwfltknox_images-$FL_API_VERSION.dll"
CAIRODSONAME="../src/mgwfltknox_cairo-$FL_API_VERSION.dll"
CAIRODSONAME="mgwfltknox_cairo-$FL_API_VERSION.dll"
else
DSONAME="cygfltknox-$FL_API_VERSION.dll"
FLDSONAME="cygfltknox_forms-$FL_API_VERSION.dll"
GLDSONAME="cygfltknox_gl-$FL_API_VERSION.dll"
IMGDSONAME="cygfltknox_images-$FL_API_VERSION.dll"
CAIRODSONAME="../src/cygfltknox_cairo-$FL_API_VERSION.dll"
CAIRODSONAME="cygfltknox_cairo-$FL_API_VERSION.dll"
fi
#-----------------------------------------------------------
# -Wl,--enable-runtime-pseudo-reloc: See str 1585
Expand All @@ -284,7 +289,7 @@ if test x$enable_shared = xyes; then
FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
CAIRODSONAME="../src/libfltk_cairo.so.$FL_API_VERSION"
CAIRODSONAME="libfltk_cairo.so.$FL_API_VERSION"
DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
;;
esac
Expand Down

0 comments on commit d474e13

Please sign in to comment.