Changeset 32253 for gs2-extensions

10.07.2018 21:02:50 (2 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 modified


  • 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