fix --enable-cairoext in configure

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
This commit is contained in:
yuri 2009-01-27 22:34:46 +00:00
parent b4a3ce9d08
commit d474e13b03
2 changed files with 90 additions and 85 deletions

View File

@ -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)
#
@ -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...
@ -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...
@ -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

View File

@ -105,6 +105,51 @@ GLLIBBASENAME="libfltk_gl.a"
IMGLIBBASENAME="libfltk_images.a"
CAIROLIBBASENAME="libfltk_cairo.a"
dnl Check for Cairo library unless disabled...
CAIRODIR=""
CAIROFLAGS=""
LINKFLTKCAIRO=""
FLTKCAIROOPTION=""
CAIROLIBS=""
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)
dnl FIXME This part should be fixed so configure do not depend on
dnl we do not rely on pkg-config .
CAIRODIR="cairo"
CAIROFLAGS="`pkg-config --cflags cairo`"
CAIROLIBS="-lcairo -lpixman-1"
CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
LINKFLTKCAIRO="../lib/libfltk_cairo.a"
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 .
CAIRODIR="cairo"
CAIROFLAGS="`pkg-config --cflags cairo`"
CAIROLIBS="-lcairo -lpixman-1"
CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
LINKFLTKCAIRO="../lib/libfltk_cairo.a"
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)
@ -133,46 +178,6 @@ 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)])
if test x$enable_cairoext = xyes; then
AC_DEFINE(USE_CAIRO)
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 .
CAIRODIR="cairo"
CAIROFLAGS="`pkg-config --cflags cairo`"
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
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 .
CAIRODIR="cairo"
CAIROFLAGS="`pkg-config --cflags cairo`"
CAIROLIBS="-lcairo -lpixman-1"
CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
LINKFLTKCAIRO="../lib/libfltk_cairo.a"
FLTKCAIROOPTION="-lfltk_cairo$SHAREDSUFFIX"
fi
AC_SUBST(CAIRODIR)
AC_SUBST(CAIROFLAGS)
AC_SUBST(CAIROLIBS)
AC_SUBST(LINKFLTKCAIRO)
AC_SUBST(FLTKCAIROOPTION)
AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]])
if test x$enable_shared = xyes; then
PICFLAG=1
@ -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"
;;
@ -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"
@ -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"
@ -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"
@ -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"
@ -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"
@ -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"
;;
@ -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
@ -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