clanmills logo

News

Trip to Margate
Malta Vacation
Alan's 50th Birthday
2026 Events
2025 Events

Photos

Search
   All Photo Albums
   Photos 2026
   Photos 2025

Family

All Family
   Family Tree
   Irene
   Margaret & Ian
   Robin
   Weddings

Travel

All Travel
   United Kingdom
   United States
   Europe
   World

Articles

All Articles
   My Book
   Bucket List
   Dieting
   Geotagging
   Garden in 2025
   Our House
   Syncopation

BTR Runs

   Runs 2026
   Runs 2025
   Places 2025
   Runs 2024
   Places 2024
   Places 3D 2024

Robin and Alison

Webmaster:
Robin Mills
robinwmills@gmail.com

build

    1: #!/bin/csh
    2: 
    3: ##
    4: # build - create a release of pyexiv2.zip
    5: ##
    6: 
    7: ##
    8: # $Id: //depot/PyExiv2Release/build#7 $ 
    9: # $Header: //depot/PyExiv2Release/build#7 $ 
   10: # $Date: 2008/04/22 $ 
   11: # $DateTime: 2008/04/22 18:26:42 $ 
   12: # $Change: 117 $ 
   13: # $File: //depot/PyExiv2Release/build $ 
   14: # $Revision: #7 $ 
   15: # $Author: rmills $
   16: ##
   17: 
   18: ##
   19: # mount the network drives
   20: mountU           # /U = ubuntu drive
   21: mountY           # /Y = windows drive
   22: mountP           # /P = ppc drive
   23: mountI           # /I = intel drive
   24: ##
   25: 
   26: alias Popd   'popd      >  /dev/null'
   27: alias Pushd  'pushd \!* >  /dev/null'
   28: alias Cp     'cp -p \!* >& /dev/null'
   29: 
   30: ##
   31: # cleanup from last time
   32: if ( -e pyexiv2 ) then
   33:     rm -rf pyexiv2
   34: endif
   35: if ( -e pyexiv2.zip ) then
   36:     rm -rf pyexiv2.zip
   37: endif
   38: ##
   39: 
   40: ##
   41: #
   42: echo building Readme.txt
   43: mkdir      pyexiv2
   44: Cp         ReadMe.txt pyexiv2
   45: ##
   46: 
   47: ##
   48: #
   49: echo building test
   50: mkdir              pyexiv2/test
   51: ditto      test    pyexiv2/test
   52: ##
   53: 
   54: ##
   55: #
   56: echo building scripts
   57: mkdir   pyexiv2/scripts
   58: Cp      /I/Users/rmills/bin/gps.py  pyexiv2/scripts
   59: Cp      /I/Users/rmills/bin/surd.py pyexiv2/scripts
   60: ##
   61: 
   62: ##
   63: #
   64: echo building linux
   65: mkdir pyexiv2/linux
   66: Pushd pyexiv2/linux
   67: 
   68: mkdir site-packages
   69: Pushd site-packages
   70: Cp    /U/home/rmills/gnu/pyexiv2/build/libpyexiv2.so libpyexiv2.so
   71: Cp    /U/home/rmills/gnu/pyexiv2/src/pyexiv2.py      .
   72: Popd
   73: 
   74: mkdir lib
   75: Pushd lib
   76: Cp    /U/home/rmills/gnu/boost_1_35_0/bin.v2/libs/python/build/gcc-4.1.3/release/threading-multi/libboost_python-gcc41-mt-1_35.so.1.35.0  libboost_python-gcc41-mt.so
   77: Cp    /U/home/rmills/gnu/expat-2.0.1/.libs/libexpat.so.1.5.2           .
   78: Cp    /U//home/rmills/gnu/exiv2-0.16/src/.libs/libexiv2.so.2.1.0       .
   79: Popd
   80: 
   81: Popd
   82: ##
   83: 
   84: ##
   85: #
   86: echo building Mac universals
   87: if ( -e universal ) then
   88:     rm -rf universal
   89: endif
   90: 
   91: if ( -e intel ) then
   92:     rm -rf intel
   93: endif
   94: 
   95: if ( -e ppc ) then
   96:     rm -rf ppc
   97: endif
   98: 
   99: # copy the intel files
  100: mkdir intel
  101: Pushd intel
  102: cp /I/Users/rmills/gnu/pyexiv2/build/libpyexiv2.dylib                               libpyexiv2.so
  103: cp /I/Users/rmills/gnu/exiv2-0.16/src/.libs/libexiv2.2.1.0.dylib                    libexiv2.2.1.0.dylib 
  104: cp /I/Users/rmills/gnu/expat-2.0.1/.libs/libexpat.1.5.2.dylib                       libexpat.1.5.2.dylib
  105: cp /I/Users/rmills/gnu/gettext-0.17/gettext-runtime/intl/.libs/libintl.8.0.2.dylib  libintl.8.0.2.dylib
  106: Popd
  107: 
  108: # copy the ppc files
  109: mkdir ppc
  110: Pushd ppc
  111: cp /P/Users/rmills/gnu/pyexiv2/build/libpyexiv2.dylib                               libpyexiv2.so
  112: cp /P/Users/rmills/gnu/exiv2-0.16/src/.libs/libexiv2.2.1.0.dylib                    libexiv2.2.1.0.dylib 
  113: cp /P/Users/rmills/gnu/expat-2.0.1/.libs/libexpat.1.5.2.dylib                       libexpat.1.5.2.dylib
  114: cp /P/Users/rmills/gnu/gettext-0.17/gettext-runtime/intl/.libs/libintl.8.0.2.dylib  libintl.8.0.2.dylib
  115: Popd
  116: 
  117: # create the universal binaries
  118: mkdir universal
  119: Pushd universal
  120: set t=libexiv2.2.1.0.dylib && lipo -arch ppc ../ppc/$t -arch i386 ../intel/$t -create -output $t
  121: set t=libexpat.1.5.2.dylib && lipo -arch ppc ../ppc/$t -arch i386 ../intel/$t -create -output $t
  122: set t=libintl.8.0.2.dylib  && lipo -arch ppc ../ppc/$t -arch i386 ../intel/$t -create -output $t
  123: set t=libpyexiv2.so        && lipo -arch ppc ../ppc/$t -arch i386 ../intel/$t -create -output $t
  124: Popd
  125: 
  126: # cleanup
  127: if ( -e intel ) then
  128:     rm -rf intel
  129: endif
  130: 
  131: if ( -e ppc ) then
  132:     rm -rf ppc
  133: endif
  134: ##
  135: 
  136: ##
  137: #
  138: echo building macosx
  139: mkdir pyexiv2/macosx
  140: Pushd pyexiv2/macosx
  141: 
  142: mkdir lib
  143: Pushd lib
  144: cp    ../../../universal/libexiv2.2.1.0.dylib  .
  145: cp    ../../../universal/libexpat.1.5.2.dylib  .
  146: cp    ../../../universal/libintl.8.0.2.dylib   .
  147: Popd
  148: 
  149: mkdir site-packages
  150: Pushd site-packages
  151: Cp    /I/Users/rmills/gnu/pyexiv2/src/pyexiv2.py  .
  152: Cp    ../../../universal/libpyexiv2.so            .
  153: Popd
  154: 
  155: Popd
  156: 
  157: # cleanup
  158: if ( -e universal ) then
  159:     rm -rf universal
  160: endif
  161: ##
  162: 
  163: ##
  164: #
  165: echo building windows
  166: mkdir pyexiv2/windows
  167: Pushd pyexiv2/windows
  168: 
  169: mkdir site-packages
  170: Pushd site-packages
  171: Cp    /Y/boost_1_35_0/bin.v2/libs/python/build/msvc-8.0/release/threading-multi/boost_python-vc80-mt-1_35.dll .
  172: Cp    /Y/gnu/expat-2.0.1/win32/bin/release/libexpat.dll   .
  173: Cp    /Y/gnu/pyexiv2/build/libpyexiv2.dll                 libpyexiv2.pyd
  174: Cp    /Y/gnu/pyexiv2/src/pyexiv2.py                       . 
  175: Popd
  176: 
  177: Popd
  178: ##
  179: 
  180: ##
  181: #
  182: echo building pyexiv2.zip
  183: chmod -R +w pyexiv2
  184: ditto -ck --keepParent --norsrc pyexiv2 pyexiv2.zip
  185: ##
  186: 
  187: ##
  188: #
  189: echo doing a diff on lastTime.txt and thisTime.txt
  190: if ( -e lastTime.txt ) then
  191:     rm -rf LastTime.txt
  192: endif
  193: 
  194: if ( -e thisTime.txt ) then
  195:     mv thisTime.txt lastTime.txt
  196: endif
  197: 
  198: treesize pyexiv2 -s -r > thisTime.txt
  199: diff lastTime.txt thisTime.txt
  200: ##
  201: 
  202: ##
  203: #
  204: echo
  205: echo If everything looks OK, then execute release to publish
  206: echo
  207: ##
  208: 
  209: ## That's all folks!