grab some fixes from Gentoo to enable shared library support, add a jpeg-dirclean...
authorMike Frysinger <vapier@gentoo.org>
Thu, 8 Sep 2005 00:19:37 +0000 (00:19 -0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 8 Sep 2005 00:19:37 +0000 (00:19 -0000)
package/jpeg/jpeg-build.patch [new file with mode: 0644]
package/jpeg/jpeg-libtool.patch [new file with mode: 0644]
package/jpeg/jpeg.mk

diff --git a/package/jpeg/jpeg-build.patch b/package/jpeg/jpeg-build.patch
new file mode 100644 (file)
index 0000000..9f3c5c2
--- /dev/null
@@ -0,0 +1,99 @@
+- Respect options from configure (bindir/libdir/etc...)
+- Grab AR from the env instead of hardcoding to 'ar'
+- Fix install to respect $(DESTDIR)
+- Also install jpegint.h #64254
+
+--- jpeg/makefile.cfg
++++ jpeg/makefile.cfg
+@@ -11,13 +11,13 @@
+ # Where to install the programs and man pages.
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+-bindir = $(exec_prefix)/bin
+-libdir = $(exec_prefix)/lib
+-includedir = $(prefix)/include
++bindir = @bindir@
++libdir = @libdir@
++includedir = @includedir@
+ binprefix =
+ manprefix =
+ manext = 1
+-mandir = $(prefix)/man/man$(manext)
++mandir = @mandir@/man$(manext)
+ # The name of your C compiler:
+ CC= @CC@
+@@ -60,7 +60,8 @@
+ # directory creation command
+ MKDIR= mkdir
+ # library (.a) file creation command
+-AR= ar rc
++AR = @AR@
++ARFLAGS = rc
+ # second step in .a creation (use "touch" if not needed)
+ AR2= @RANLIB@
+ # installation program
+@@ -163,7 +164,7 @@
+ # without libtool:
+ libjpeg.a: @A2K_DEPS@ $(LIBOBJECTS)
+       $(RM) libjpeg.a
+-      $(AR) libjpeg.a  $(LIBOBJECTS)
++      $(AR) $(ARFLAGS) libjpeg.a  $(LIBOBJECTS)
+       $(AR2) libjpeg.a
+ # with libtool:
+@@ -191,25 +191,29 @@
+ # Installation rules:
+ install: cjpeg djpeg jpegtran rdjpgcom wrjpgcom @FORCE_INSTALL_LIB@
+-      $(INSTALL_PROGRAM) cjpeg $(bindir)/$(binprefix)cjpeg
+-      $(INSTALL_PROGRAM) djpeg $(bindir)/$(binprefix)djpeg
+-      $(INSTALL_PROGRAM) jpegtran $(bindir)/$(binprefix)jpegtran
+-      $(INSTALL_PROGRAM) rdjpgcom $(bindir)/$(binprefix)rdjpgcom
+-      $(INSTALL_PROGRAM) wrjpgcom $(bindir)/$(binprefix)wrjpgcom
+-      $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(mandir)/$(manprefix)cjpeg.$(manext)
+-      $(INSTALL_DATA) $(srcdir)/djpeg.1 $(mandir)/$(manprefix)djpeg.$(manext)
+-      $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(mandir)/$(manprefix)jpegtran.$(manext)
+-      $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(mandir)/$(manprefix)rdjpgcom.$(manext)
+-      $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(mandir)/$(manprefix)wrjpgcom.$(manext)
++      mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)
++      $(INSTALL_PROGRAM) cjpeg $(DESTDIR)$(bindir)/$(binprefix)cjpeg
++      $(INSTALL_PROGRAM) djpeg $(DESTDIR)$(bindir)/$(binprefix)djpeg
++      $(INSTALL_PROGRAM) jpegtran $(DESTDIR)$(bindir)/$(binprefix)jpegtran
++      $(INSTALL_PROGRAM) rdjpgcom $(DESTDIR)$(bindir)/$(binprefix)rdjpgcom
++      $(INSTALL_PROGRAM) wrjpgcom $(DESTDIR)$(bindir)/$(binprefix)wrjpgcom
++      $(INSTALL_DATA) $(srcdir)/cjpeg.1 $(DESTDIR)$(mandir)/$(manprefix)cjpeg.$(manext)
++      $(INSTALL_DATA) $(srcdir)/djpeg.1 $(DESTDIR)$(mandir)/$(manprefix)djpeg.$(manext)
++      $(INSTALL_DATA) $(srcdir)/jpegtran.1 $(DESTDIR)$(mandir)/$(manprefix)jpegtran.$(manext)
++      $(INSTALL_DATA) $(srcdir)/rdjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)rdjpgcom.$(manext)
++      $(INSTALL_DATA) $(srcdir)/wrjpgcom.1 $(DESTDIR)$(mandir)/$(manprefix)wrjpgcom.$(manext)
+ install-lib: libjpeg.$(A) install-headers
+-      $(INSTALL_LIB) libjpeg.$(A) $(libdir)/$(binprefix)libjpeg.$(A)
++      mkdir -p $(DESTDIR)$(libdir)
++      $(INSTALL_LIB) libjpeg.$(A) $(DESTDIR)$(libdir)/$(binprefix)libjpeg.$(A)
+ install-headers: jconfig.h
+-      $(INSTALL_DATA) jconfig.h $(includedir)/jconfig.h
+-      $(INSTALL_DATA) $(srcdir)/jpeglib.h $(includedir)/jpeglib.h
+-      $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(includedir)/jmorecfg.h
+-      $(INSTALL_DATA) $(srcdir)/jerror.h $(includedir)/jerror.h
++      mkdir -p $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) jconfig.h $(DESTDIR)$(includedir)/jconfig.h
++      $(INSTALL_DATA) $(srcdir)/jpegint.h $(DESTDIR)$(includedir)/jpegint.h
++      $(INSTALL_DATA) $(srcdir)/jpeglib.h $(DESTDIR)$(includedir)/jpeglib.h
++      $(INSTALL_DATA) $(srcdir)/jmorecfg.h $(DESTDIR)$(includedir)/jmorecfg.h
++      $(INSTALL_DATA) $(srcdir)/jerror.h $(DESTDIR)$(includedir)/jerror.h
+ clean:
+       $(RM) *.o *.lo libjpeg.a libjpeg.la
+--- jpeg/configure
++++ jpeg/configure
+@@ -1777,6 +1777,7 @@
+ s%@CPP@%$CPP%g
+ s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+ s%@INSTALL_DATA@%$INSTALL_DATA%g
++s%@AR@%${AR-ar}%g
+ s%@RANLIB@%$RANLIB%g
+ s%@LIBTOOL@%$LIBTOOL%g
+ s%@O@%$O%g
diff --git a/package/jpeg/jpeg-libtool.patch b/package/jpeg/jpeg-libtool.patch
new file mode 100644 (file)
index 0000000..3c4b573
--- /dev/null
@@ -0,0 +1,66 @@
+--- jpeg/configure
++++ jpeg/configure
+@@ -1559,7 +1559,7 @@
+   if test "x$LTSTATIC" = xno; then
+     disable_static="--disable-static"
+   fi
+-  $srcdir/ltconfig $disable_shared $disable_static $srcdir/ltmain.sh
++  $srcdir/ltconfig $disable_shared $disable_static $srcdir/ltmain.sh $CHOST
+ fi
+ # Select memory manager depending on user input.
+--- jpeg/ltconfig
++++ jpeg/ltconfig
+@@ -299,6 +299,7 @@
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case "$host_os" in
+ linux-gnu*) ;;
++linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+@@ -553,7 +553,9 @@
+     # On HP-UX, both CC and GCC only warn that PIC is supported... then they
+     # create non-PIC objects.  So, if there were any warnings, we assume that
+     # PIC is not supported.
++    # Make sure we only test warnings on HP-UX (pic_flag == +Z) or we can
++    # easily break Linux builds http://bugs.gentoo.org/70947
+-    if test -s conftest.err; then
++    if test -s conftest.err -a "$pic_flag" = "+Z"; then
+       echo "$ac_t"no 1>&6
+       can_build_shared=no
+       pic_flag=
+@@ -1210,7 +1210,6 @@
+   else
+     # Only the GNU ld.so supports shared libraries on MkLinux.
+     case "$host_cpu" in
+-    powerpc*) dynamic_linker=no ;;
+     *) dynamic_linker='Linux ld.so' ;;
+     esac
+   fi
+@@ -1259,6 +1260,25 @@
+   fi
+   ;;
++linux-uclibc*)
++  version_type=linux
++  need_lib_prefix=no
++  need_version=no
++  library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so'
++  soname_spec='${libname}${release}.so.$major'
++  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
++  shlibpath_var=LD_LIBRARY_PATH
++  shlibpath_overrides_runpath=no
++  deplibs_check_method=pass_all
++  # This implies no fast_install, which is unacceptable.
++  # Some rework will be needed to allow for fast_install
++  # before this can be enabled.
++  # Note: copied from linux-gnu, and may not be appropriate.
++  hardcode_into_libs=yes
++  # Assume using the uClibc dynamic linker.
++  dynamic_linker="uClibc ld.so"
++  ;;
++
+ netbsd* | openbsd*)
+   version_type=sunos
+   library_names_spec='${libname}${release}.so.$versuffix'
index b8d8524890cfc189bdedca48a55fc599d0548886..ce40a771908481224e2a38e7d18d884f9f6a0a66 100644 (file)
@@ -32,6 +32,7 @@ jpeg-source: $(DL_DIR)/$(JPEG_SOURCE)
 
 $(JPEG_DIR)/.unpacked: $(DL_DIR)/$(JPEG_SOURCE)
        $(JPEG_CAT) $(DL_DIR)/$(JPEG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(JPEG_DIR) package/jpeg/ jpeg\*.patch
        $(CONFIG_UPDATE) $(JPEG_DIR)
        touch $(JPEG_DIR)/.unpacked
 
@@ -42,26 +43,19 @@ $(JPEG_DIR)/.configured: $(JPEG_DIR)/.unpacked
                --target=$(GNU_TARGET_NAME) \
                --host=$(GNU_TARGET_NAME) \
                --build=$(GNU_HOST_NAME) \
-               --prefix=/usr \
-               --exec-prefix=/usr \
-               --bindir=/usr/bin \
-               --sbindir=/usr/sbin \
-               --libexecdir=/usr/lib \
-               --sysconfdir=/etc \
-               --datadir=/usr/share \
-               --localstatedir=/var \
-               --mandir=/usr/man \
-               --infodir=/usr/info \
+               --prefix=$(STAGING_DIR) \
                --enable-shared \
+               --enable-static \
        );
-       touch  $(JPEG_DIR)/.configured
+       touch $(JPEG_DIR)/.configured
 
 $(JPEG_DIR)/.libs/libjpeg.a: $(JPEG_DIR)/.configured
        $(MAKE) -C $(JPEG_DIR) all
        touch -c $(JPEG_DIR)/.libs/libjpeg.a
 
 $(STAGING_DIR)/lib/libjpeg.a: $(JPEG_DIR)/.libs/libjpeg.a
-       $(MAKE) -C $(JPEG_DIR) prefix=$(STAGING_DIR) exec_prefix=$(STAGING_DIR) install-headers install-lib
+       $(MAKE) -C $(JPEG_DIR) install-headers install-lib
+       rm $(STAGING_DIR)/lib/libjpeg.la
        touch -c $(STAGING_DIR)/lib/libjpeg.a
 
 $(TARGET_DIR)/usr/lib/libjpeg.a: $(STAGING_DIR)/lib/libjpeg.a
@@ -73,6 +67,10 @@ jpeg: uclibc $(TARGET_DIR)/usr/lib/libjpeg.a
 
 jpeg-clean:
        -$(MAKE) -C $(JPEG_DIR) clean
+
+jpeg-dirclean:
+       rm -rf $(JPEG_DIR)
+
 #############################################################
 #
 # Toplevel Makefile options