Changeset 32253

07/10/18 21:02:50 (3 years ago)
  1. Adding in the files required for xpdf-tools' licence in new folder redistribute. This is copied into the distribution tarball. 2. toplevel' makedist commands creates includes customised content into the distribution tarball: just the pdf bins and the xpdf-tools licensing files (including, as specified in the licence, the xpdf man pages generated during building). 3. Found a newer version of libjpeg src: version 9c from 2018, versus the older version 6b from 2008. This builds without requiring the old patch for 64 bit machines. However, needed further modification: instead of the install-lib make target, the install-lib equivalent now has a longer target name. Version 9c is able to produce both libjpeg.a and We specifically want only the former to be generated, so we now have to tell configure to disable-shared (which was the only mode for the older libjpeg version 6b). We're now also copying certain header files across to the installed area's include subfolder, as speficied in the install.txt for the new and older versions of libjpeg.
5 added
3 edited


  • gs2-extensions/xpdf-tools/trunk/src/

    r32227 r32253  
    16 if [ $makedist = "1"  ] ; then
    17   default_toplevel_make_dist $GSDLOS devel.bash
     16# makedist: makes a temporary subdirectory, also called xpdf-tools, puts just the stuff we want in there
     17# and then runs the CASCADE-MAKE command to make a distribution (tar.gz) out of our whitelist temporary folder
     18# then get rid of that temporary xpdf-tools folder.
     19if [ $makedist = "1" ] ; then
     20    mkdir -p xpdf-tools
     21    cp $GSDLOS/bin/pdf* xpdf-tools/.
     22    # See xpdftools' README: licencing files and manpage need to be redistributed with xpdf-tools binaries
     23    cp -r $GSDLOS/man xpdf-tools/.
     24    cp redistribute/* xpdf-tools/.
     25    toplevel_make_dist $GSDLOS xpdf-tools
     26    rm -rf xpdf-tools
  • gs2-extensions/xpdf-tools/trunk/src/packages/CASCADE-MAKE/

    r32251 r32253  
    4 version=-6b
     5# version 9c is from 2018, see Version 6b is from 2008
     8# renamed the downloaded jpegsrc.v9c.tar.gz to jpeg$version.tar.gz
     9# similarly for the earlier 6b version.
    2833#        Error encountered running *make * stage of ./CASCADE-MAKE/
    2934# The solution is taken from
    30 if [[ -d "$package$version" && -f "gs-libjpeg-config.sub" ]]; then
    31     echo "*******************************************************************"
    32     echo "Using our custom gs-libjpeg-config.sub instead of the one included in $package$version"
    33     echo "Copying across gs-libjpeg-config.sub as $package$version/config.sub"
    34     echo "*******************************************************************"
    35     echo `pwd`
    36     cp "gs-libjpeg-config.sub" "$package$version/config.sub"
    37 fi
     35##if [[ -d "$package$version" && -f "gs-libjpeg-config.sub" ]]; then
     36##    echo "*******************************************************************"
     37##    echo "Using our custom gs-libjpeg-config.sub instead of the one included in $package$version"
     38##    echo "Copying across gs-libjpeg-config.sub as $package$version/config.sub"
     39##    echo "*******************************************************************"
     40##    echo `pwd`
     41##    cp "gs-libjpeg-config.sub" "$package$version/config.sub"
    3944# This also seems to make only the static libjpeg.a
    4348# only the libjpeg.a is produced with this command
    44 opt_run_configure $force_config $auto_config $package $version "$prefix"
     49opt_run_configure $force_config $auto_config $package $version "$prefix" --disable-shared
    4550#opt_run_configure $force_config $auto_config $package $version "$prefix" \
    4651#    --enable-static --enable-shared
    5257opt_run_make $compile   $package $version
    53 opt_run_make $install   $package $version "install-lib"
     58#opt_run_make $install   $package $version "install-lib"
     59# Contrary to the install.txt in version jpeg version 9c, install-lib is an unrecognised make command
     60# I found there was an install-libLTLIBRARIES target in the Makefile, however. And that seems to at least copy over libjpeg.a
     61opt_run_make $install   $package $version "install-libLTLIBRARIES"
    5462opt_run_make $clean     $package $version "clean"
    5563opt_run_make $distclean $package $version "distclean"
    5765opt_run_tarclean $tarclean $package $version
     67# according to jpeg version 9c's install.txt, these 4 header files need to be copied into the include folder (besides installing libjpeg.a)
     68# if building something against the libjpeg library, as we do with xpdf-tools
     69cp $package$version/jpeglib.h $package$version/jerror.h $package$version/jconfig.h $package$version/jmorecfg.h $GEXTXPDFTOOLS_INSTALLED/include/.
  • gs2-extensions/xpdf-tools/trunk/src/packages/GS-README.txt

    r32252 r32253  
    1313LIBJPEG related
    1414G. LIBJPEG and LIBTIFF
    15 - Issues building LIBJPEG on 64 bit machines and the patch
    17 H. PDF2DOM
     15- Moving from 2008's libjpeg version 6b to the newer 2018 version 9c
     16- Issues building LIBJPEG version 6b on 64 bit machines and the patch
     18H. Licensing information and making the distributable tarball
     20I. PDF2DOM
    1821    unused, replaced by Xpdf-Tools' more suited pdftohtml capabilities
    483 1. Issues building LIBJPEG on 64 bit machines and the patch
     4861. The first version of LIBJPEG to work out was version 6b, which required some patching up before it could be built, see point 2 below.
     487Besides the fact that version 6b needed patching up, it was also from 2008. I've now found a version of libjpeg from Jan 2018, called "jpegsrc.v9c.tar.gz"
     488which was downloadable from at Version 9c can build both static and dynamically linked libraries of
     489libjpeg, though we only want the former. (The older version 6b could only generate the static libjpeg.a library file, and contrary to online instructions.)
     491As needed to be done with the older 6b version, this tarball was renamed to jpeg-9c.tar.gz to fit the naming pattern of its folder once extracted.
     493There was an incompatibility between the existing CASCADE-MAKE/ and the Makefile generated by configuring the in the jpeg-9c tarball.
     494The would run "make install-lib"  at the end, to install the libjpeg.a in the lib folder and to install 4 header files. This is as per the install.txt
     495instructions in the older and current version of jpeg src tarball. However, the header files never got installed when doing so, whether in version 6b or the
     496current 9c. And install-lib is not a recognised target in 9c's Makefile, where the target is install-libLTLIBRARIES. So has been modified to use this
     497target name and to moreover copy over the header files (even though they weren't necessary when compiling xpdftools against the libjpeg 6b library previously and
     498possibly now with 9c).
     500Since we want to only generate libjpeg.a and not the .so/.dylib dynamically linked versions, the latter is turned off during configure by passing --disable-shared.
     502A final change made to was to undo it copying over the patch file "gs-libjpeg-config.sub" into the extracted jpeg tarball, since the patch was only
     503necessary for libjpeg version 6b and not for 9c. These steps have been commented out in now.
     5062. Issues building LIBJPEG VERSION 6b on 64 bit machines and the patch
     508LIBJPEG version 6b is from 2008.
    485510I copied the LIBJPEG package from (also at
    596621    in the same way now. Not sure where these automatically assigned variables come from in order to check up on them.
    599 __________________________________________________________
    600 H. PDF2DOM: tried it out, but wasn't what we wanted
     624H. Licensing information and making the distributable tarball
     627XpdfTools' README lists which files need to be included as per its license when redistributing xpdf-tools binaries.
     629Running ./ makedist does some custom steps to create a distribution tarball of the xpdf-tools we compile up:
     630it creates a temporary xpdf-tools subdirectory and copies into it the GSDLOS/bin/pdf* statically linked binaries (or dynamic executables linked
     631against mostly static libraries in the case of Macs), the GSDLOS/man folder as well as the "redistribute" folder containing further compulsory
     632files as required by xpdf-tools' license.
     633This temporary xpdf-tools subfolder is then passed as the whitelist folder to the CASCADE-MAKE makedist command, and this folder and its
     634contents are then tarred up into the distribution tarball xpdf-tools-GSDLOS.tar.gz. Finally, the temporary xpdf-tools subfolder is deleted.
     638I. PDF2DOM: tried it out, but wasn't what we wanted
    602640Using PDFBox to convert a PDF to full HTML, both images and text and placed correctly with respect to each other, is tricky, see
Note: See TracChangeset for help on using the changeset viewer.