build: Changes to support msvc2003/msvc2005/msvc2012 trees
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
Notes about msvc 32 bit build of exiv2
|
||||
--------------------------------------
|
||||
Notes about msvc2003 32 bit build of exiv2
|
||||
------------------------------------------
|
||||
|
||||
+-----------------------------------------------------------+
|
||||
| msvc2012 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2012 |
|
||||
| msvc64 builds 32bit and 64bit binaries |
|
||||
| msvc2005 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2005/8/10 |
|
||||
| msvc builds 32bit binaries |
|
||||
| msvc2003 builds 32bit binaries |
|
||||
| with Visual Studio 2003/5/8 |
|
||||
+-----------------------------------------------------------+
|
||||
|
||||
@@ -18,10 +18,7 @@ Tested With: VC7.1, VC8 Pro +SP1, VC9Std running Windows/XP 32bit)
|
||||
VC10 running on Windows/7 64bit, and Windows/XP 32bit
|
||||
(VC7.1 = VS/2003 .Net; VC8 = VS/2005; VC9 = VS/2008; VC10 = VS/2010)
|
||||
|
||||
I recommend you use the msvc64 environment for VS2010.
|
||||
VC10/VS 2010 requires a project change which the conversion wizard doesn't handle. See below.
|
||||
|
||||
All builds in msvc are 32bit. Use msvc64 for 64bit and 32bit builds.
|
||||
All builds in msvc2003 are 32bit.
|
||||
|
||||
1) Build environments (solution files)
|
||||
exiv2.sln - this builds the exiv2 libraries (static and dynamic)
|
||||
@@ -101,7 +98,7 @@ How to build and test exiv2 (with/without organize.exe)
|
||||
Rattle roll.... less than a minute ...... snap, crackle, pop (lots of warnings)
|
||||
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
|
||||
|
||||
4) Open the sln file exiv2\msvc\exiv2.sln
|
||||
4) Open the sln file exiv2\msvc2003\exiv2.sln
|
||||
On VS2005 and up, the Wizard will offer to upgrade the project files.
|
||||
Once more, say yes to everything.
|
||||
|
||||
@@ -138,15 +135,15 @@ How to build and test exiv2 (with/without organize.exe)
|
||||
|
||||
6) Test from the Command Line (cmd.exe):
|
||||
|
||||
cd exiv2\msvc
|
||||
C:\gnu\exiv2\msvc>runner.bat > new.txt
|
||||
cd exiv2\msvc2003
|
||||
C:\gnu\exiv2\msvc2003>runner.bat > new.txt
|
||||
exiv2.exe: An action must be specified
|
||||
exiv2.exe: At least one file is required
|
||||
metacopy.exe: Read and write files must be specified
|
||||
bla bla white sheep......
|
||||
|
||||
C:\gnu\exiv2\msvc>diff.exe runner.txt new.txt (Windows/XP)
|
||||
C:\gnu\exiv2\msvc>diff.exe runner7.txt new.txt (Windows/7)
|
||||
C:\gnu\exiv2\msvc2003>diff.exe runner.txt new.txt (Windows/XP)
|
||||
C:\gnu\exiv2\msvc2003>diff.exe runner7.txt new.txt (Windows/7)
|
||||
--- no differences should be reported --
|
||||
|
||||
The test takes less than 1 minute and runs 200+ different test programs.
|
||||
@@ -154,8 +151,8 @@ How to build and test exiv2 (with/without organize.exe)
|
||||
7) Running the test suite
|
||||
|
||||
The test suite is a collection of bash scripts and requires a unix-like environment
|
||||
in which to run. exiv2 msvc and msvc64 builds are tested with cygwin and msys.
|
||||
Please see the file exiv2/msvc64/ReadMe.txt for more information.
|
||||
in which to run. exiv2 msvc2003/5/12 builds are tested with cygwin and msys.
|
||||
Please see the file exiv2/msvc2005/ReadMe.txt for more information.
|
||||
|
||||
How to build exiv2+organize
|
||||
---------------------------
|
||||
@@ -285,7 +282,7 @@ OR (if you prefer to build from source)
|
||||
Where are the libraries and executables?
|
||||
----------------------------------------
|
||||
|
||||
exiv2\msvc\bin\{Debug | DebugDLL | Release | ReleaseDLL }
|
||||
exiv2\msvc2003\bin\{Debug | DebugDLL | Release | ReleaseDLL }
|
||||
|
||||
What's been built?
|
||||
------------------
|
||||
@@ -340,9 +337,9 @@ http://dev.exiv2.org/projects/exiv2/issues
|
||||
Support and Questions
|
||||
---------------------
|
||||
|
||||
Information/Documentation : http://www.exiv2.org/index.html
|
||||
Discussion Forum : http://dev.exiv2.org/wiki/exiv2
|
||||
The MSVC build environment : Please contact me directly by email.
|
||||
Information/Documentation : http://www.exiv2.org/index.html
|
||||
Discussion Forum : http://dev.exiv2.org/wiki/exiv2
|
||||
The MSVC2003 build environment : Please contact me directly by email.
|
||||
|
||||
Robin Mills
|
||||
robin@clanmills.com
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+34
-34
@@ -1,16 +1,16 @@
|
||||
exiv2\msvc64\ReadMe.txt
|
||||
-----------------------
|
||||
exiv2\msvc2005\ReadMe.txt
|
||||
-------------------------
|
||||
|
||||
+-----------------------------------------------------------+
|
||||
| msvc2012 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2012 |
|
||||
| msvc64 builds 32bit and 64bit binaries |
|
||||
| msvc2005 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2005/8/10 |
|
||||
| msvc builds 32bit binaries |
|
||||
| msvc2003 builds 32bit binaries |
|
||||
| with Visual Studio 2003/5/8 |
|
||||
+-----------------------------------------------------------+
|
||||
|
||||
Updated: 2012-05-07
|
||||
Updated: 2013-07-22
|
||||
|
||||
Robin Mills
|
||||
http://clanmills.com
|
||||
@@ -22,7 +22,7 @@ T A B L E o f C O N T E N T S
|
||||
1 Build Instructions
|
||||
1.1 Tools
|
||||
1.2 Install zlib and expat sources.
|
||||
1.3 Open exiv2\msvc64\exiv2.sln
|
||||
1.3 Open exiv2\msvc2005\exiv2.sln
|
||||
1.4 What is build
|
||||
1.5 Building with zlib1.2.3 (or 1.2.5) and expat 2.0.1
|
||||
1.6 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds)
|
||||
@@ -64,11 +64,11 @@ T A B L E o f C O N T E N T S
|
||||
2010-12-02 20:58 <DIR> zlib-1.2.3 OPTIONAL <--- "vanilla" zlib 1.2.3 source tree
|
||||
c:\gnu>
|
||||
|
||||
The URLs from which to obtain zlib and expat are documented in exiv2\msvc\README-MSVC.txt
|
||||
The URLs from which to obtain zlib and expat are documented in exiv2\msvc2003\ReadMe.txt
|
||||
expat-2.1.0 is available from http://voxel.dl.sourceforge.net/sourceforge/expat/expat-2.1.0.tar.gz
|
||||
zlib-1.2.7 is available from http://zlib.net/zlib-1.2.7.tar.gz
|
||||
|
||||
1.3 Open exiv2\msvc64\exiv2.sln
|
||||
1.3 Open exiv2\msvc2005\exiv2.sln
|
||||
Projects are zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc...
|
||||
Build/Batch build... Select All, Build
|
||||
- 29 projects (zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc)
|
||||
@@ -85,14 +85,14 @@ T A B L E o f C O N T E N T S
|
||||
1.4 What is built
|
||||
The DLL builds use the DLL version of the C runtime libraries
|
||||
The Debug|Release builds use static C runtime libraries
|
||||
This is discussed in exiv2\msvc\README-MSVC.txt
|
||||
This is discussed in exiv2\msvc2003\ReadMe.txt
|
||||
|
||||
1.5 Building with zlib1.2.5 (or 1.2.3) and/or expat 2.0.1
|
||||
By default, msvc64 builds with zlib-1.2.7 and expat 2.1.0
|
||||
By default, msvc2005 builds with zlib-1.2.7 and expat 2.1.0
|
||||
You can build with zlib1.2.3. To do this:
|
||||
|
||||
1) copy/y exiv2\msvc64\zlib123\zlib.vcproj exiv2\msvc64\zlib\
|
||||
copy/y exiv2\msvc64\expat201\expat.vcproj exiv2\msvc64\expat
|
||||
1) copy/y exiv2\msvc2005\zlib123\zlib.vcproj exiv2\msvc2005\zlib\
|
||||
copy/y exiv2\msvc2005\expat201\expat.vcproj exiv2\msvc2005\expat
|
||||
|
||||
2) You will need the sources in a directory parallel to exiv2
|
||||
c:\gnu>dir
|
||||
@@ -103,7 +103,7 @@ T A B L E o f C O N T E N T S
|
||||
2010-12-02 20:58 <DIR> zlib-1.2.7 <--- "vanilla" zlib 1.2.7 source tree
|
||||
2010-12-02 20:58 <DIR> zlib-1.2.3 OPTIONAL <--- "vanilla" zlib 1.2.3 source tree
|
||||
c:\gnu>
|
||||
Please see exiv2\msvc\README-MSVC.txt for information about obtaining zlib-1.2.3
|
||||
Please see exiv2\msvc2003\ReadMe.txt for information about obtaining zlib-1.2.3
|
||||
|
||||
3) Alter the "AdditionalIncludeDirectories" in the following projects:
|
||||
xmpsdk.vcproj
|
||||
@@ -122,7 +122,7 @@ T A B L E o f C O N T E N T S
|
||||
|
||||
Before loading the project, use the python script setbuild.py to select Win32:
|
||||
|
||||
c:\gnu\exiv2\msvc64>setbuild.py Win32
|
||||
c:\gnu\exiv2\msvc2005>setbuild.py Win32
|
||||
|
||||
setbuild.py is none destructive. If you have a 64 bit compiler, you can:
|
||||
1) Restore the build environment with: setbuild.py all
|
||||
@@ -132,7 +132,7 @@ T A B L E o f C O N T E N T S
|
||||
you can "doctor" to project files manually to remove mentiosn of X64 using an editor:
|
||||
|
||||
Cleanup your tree and edit the files.
|
||||
cd exiv2\msvc64
|
||||
cd exiv2\msvc2005
|
||||
call cleaner.bat
|
||||
for /r %f in (*.vcproj) do notepad %f
|
||||
for /r %f in (*.sln) do notepad %f
|
||||
@@ -149,7 +149,7 @@ T A B L E o f C O N T E N T S
|
||||
setbuild.py reset
|
||||
|
||||
1.7 Support for DevStudio 11
|
||||
I have successfully built and tested a sub-set of exiv2/msvc64 with DevStudio 11 beta.
|
||||
I have successfully built and tested a sub-set of exiv2/msvc2005 with DevStudio 11 beta.
|
||||
|
||||
I have no plan to support beta versions of DevStudio.
|
||||
|
||||
@@ -166,7 +166,7 @@ T A B L E o f C O N T E N T S
|
||||
work cleanly for me. They use different projects for VC9 and VC10.
|
||||
They don't provide support for VC8 or 11beta.
|
||||
|
||||
I have created build environments for zlib and expat within exiv2/msvc64.
|
||||
I have created build environments for zlib and expat within exiv2/msvc2005.
|
||||
I don't include the source code for zlib or expat - only the build environment.
|
||||
|
||||
You are expected to install the "vanilla" expat and zlib libraries
|
||||
@@ -177,10 +177,10 @@ T A B L E o f C O N T E N T S
|
||||
The names expat-2.1.0 and zlib-1.2.7 are fixed (and used by the .vcproj files)
|
||||
|
||||
zlib and expat
|
||||
exiv2\msvc64\zlib\zlib.vcproj DevStudio files
|
||||
exiv2\msvc2005\zlib\zlib.vcproj DevStudio files
|
||||
..\..\..\zlib-1.2.7\ Source code
|
||||
|
||||
exiv2\msvc64\expat\expat.vcproj DevStudio files
|
||||
exiv2\msvc2005\expat\expat.vcproj DevStudio files
|
||||
..\..\..\expat-2.1.0\ Source code
|
||||
|
||||
2.1 Architecture
|
||||
@@ -198,20 +198,20 @@ T A B L E o f C O N T E N T S
|
||||
bin\{win32|x84}\Win32\{Debug|Release|DebugDLL|ReleaseDLL}
|
||||
include
|
||||
|
||||
2.2 Relationship with msvc build environment
|
||||
msvc64 is similar to msvc.
|
||||
2.2 Relationship with msvc2003 build environment
|
||||
msvc2005 is similar to msvc2003.
|
||||
However there are significant differences:
|
||||
1) msvc64 supports 64 bit and 32 bit builds
|
||||
2) msvc64 provides projects to build expat and zlib
|
||||
3) msvc64 is designed to accomodate new versions of expat and zlib when they become available.
|
||||
4) msvc64 supports DevStudio 2005, 2008 and 2010 (no support for 2003)
|
||||
5) msvc64 does not require you to build 'vanilla' expat and zlib projects in advance
|
||||
6) msvc64 does not support the organize application
|
||||
7) msvc64 supports building with zlib1.2.7 (default) or zlib1.2.3/5
|
||||
7) msvc64 supports building with expat2.1.0 (default) or expa2.0.1
|
||||
1) msvc2005 supports 64 bit and 32 bit builds
|
||||
2) msvc2005 provides projects to build expat and zlib
|
||||
3) msvc2005 is designed to accomodate new versions of expat and zlib when they become available.
|
||||
4) msvc2005 supports DevStudio 2005, 2008 and 2010 (no support for 2003)
|
||||
5) msvc2005 does not require you to build 'vanilla' expat and zlib projects in advance
|
||||
6) msvc2005 does not support the organize application
|
||||
7) msvc2005 supports building with zlib1.2.7 (default) or zlib1.2.3/5
|
||||
7) msvc2005 supports building with expat2.1.0 (default) or expa2.0.1
|
||||
|
||||
msvc will continue to be supported for 32 bit builds using DevStudio 2003/05/08,
|
||||
however there is no plan to enhance or develop msvc going forward.
|
||||
msvc2003 will continue to be supported for 32 bit builds using DevStudio 2003/05/08,
|
||||
however there is no plan to enhance or develop msvc2003 going forward.
|
||||
|
||||
3 Acknowledgement of prior work
|
||||
This work is based on work by the following people:
|
||||
@@ -269,8 +269,8 @@ T A B L E o f C O N T E N T S
|
||||
export EXIV2_BINDIR=<path-to-directory-with-exiv2.exe>
|
||||
|
||||
I find the following little bash loop very useful. You should test
|
||||
against all the directories in the msvc64/bin directory:
|
||||
for d in $(find /c/gnu.2005/exiv2/msvc64/bin -name exiv2.exe -exec dirname {} ";"); do
|
||||
against all the directories in the msvc2005/bin directory:
|
||||
for d in $(find /c/gnu.2005/exiv2/msvc2005/bin -name exiv2.exe -exec dirname {} ";"); do
|
||||
export EXIV2_BINDIR=$d
|
||||
echo ---------------------------------
|
||||
echo ---- $d ----
|
||||
@@ -294,7 +294,7 @@ T A B L E o f C O N T E N T S
|
||||
|
||||
Note: Cygwin currently ships diff-utils 2.9.2 which treats binary files differently
|
||||
from 2.8.7 (on Mac) and 3.2 (on Ubuntu 12.04). For this reason, the executable (and
|
||||
support dlls) for GNU diff.exe 2.8.7 is provided in msvc/diff.exe.
|
||||
support dlls) for GNU diff.exe 2.8.7 is provided in msvc2003/diff.exe.
|
||||
The test suite has been "doctored" on cygwin to modify the path appropriately to
|
||||
use this preferred version of diff.exe.
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+103
-1062
File diff suppressed because one or more lines are too long
+23
-778
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+49
-748
File diff suppressed because one or more lines are too long
+32
-781
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+7
-5
@@ -4,23 +4,25 @@ exiv2\msvc2012\ReadMe.txt
|
||||
+-----------------------------------------------------------+
|
||||
| msvc2012 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2012 |
|
||||
| msvc64 builds 32bit and 64bit binaries |
|
||||
| msvc2005 builds 32bit and 64bit binaries |
|
||||
| with Visual Studio 2005/8/10 |
|
||||
| msvc builds 32bit binaries |
|
||||
| msvc2003 builds 32bit binaries |
|
||||
| with Visual Studio 2003/5/8 |
|
||||
+-----------------------------------------------------------+
|
||||
|
||||
Updated: 2012-07-22
|
||||
|
||||
The build environment for Visual Studio 2012 is basically the same
|
||||
as msvc64 and you should consult msvc64\ReadMe.txt.
|
||||
as msvc2005 and you should consult msvc2005\ReadMe.txt for information
|
||||
about the build.
|
||||
|
||||
The project file convertor for 2012 created a new build environment
|
||||
which fails to build several of the Release and Debug (static) applications.
|
||||
The Visual Studio 2012 project file convertor created this new build environment
|
||||
however the build failed for several of the Release and Debug (static) applications.
|
||||
|
||||
The project files in msvc2012 have been hand modified to successfully build
|
||||
exiv2 and all the sample applications. The environment can build 32bit and 64bit
|
||||
binaries in four flavors:
|
||||
|
||||
Debug and Release (static)
|
||||
DebugDLL and ReleaseDLL (shared libraries)
|
||||
|
||||
|
||||
+98
-98
@@ -7,65 +7,65 @@ runTest()
|
||||
local prog=$1
|
||||
shift
|
||||
(
|
||||
cd $here/tmp
|
||||
if [ ! -z $EXIV2_ECHO ]; then
|
||||
echoTest $VALGRIND $bin/$prog "$@"
|
||||
fi
|
||||
$VALGRIND $bin/$prog "$@"
|
||||
)
|
||||
cd $here/tmp
|
||||
if [ ! -z $EXIV2_ECHO ]; then
|
||||
echoTest $VALGRIND $bin/$prog "$@"
|
||||
fi
|
||||
$VALGRIND $bin/$prog "$@"
|
||||
)
|
||||
}
|
||||
|
||||
##
|
||||
# echo commands and arguments
|
||||
echoTest()
|
||||
{
|
||||
local count=1
|
||||
for i in $@ ; do
|
||||
echo $((count++)): $i
|
||||
done
|
||||
echo -----------------------
|
||||
local count=1
|
||||
for i in $@ ; do
|
||||
echo $((count++)): $i
|
||||
done
|
||||
echo -----------------------
|
||||
}
|
||||
|
||||
##
|
||||
# predictate
|
||||
existsTest()
|
||||
{
|
||||
local prog=$1
|
||||
result=0
|
||||
if [ -e $bin/$prog -o -e $bin/$prog.exe ]; then
|
||||
result=1
|
||||
fi
|
||||
echo $result
|
||||
local prog=$1
|
||||
result=0
|
||||
if [ -e $bin/$prog -o -e $bin/$prog.exe ]; then
|
||||
result=1
|
||||
fi
|
||||
echo $result
|
||||
}
|
||||
|
||||
##
|
||||
# copy file
|
||||
copy()
|
||||
{
|
||||
\cp "$1" "$2"
|
||||
\cp "$1" "$2"
|
||||
}
|
||||
|
||||
##
|
||||
# copy file from data to tmp (copyTestFile from to
|
||||
copyTestFile()
|
||||
{
|
||||
if [ $# == 2 ]; then
|
||||
cp -f "$here/data/$1" "$here/tmp/$2"
|
||||
elif [ $# == 1 ]; then
|
||||
cp -f "$here/data/$1" "$here/tmp/$1"
|
||||
else
|
||||
echo "*** error copyTestFile: illegal number of inputs = $# ***"
|
||||
fi
|
||||
|
||||
if [ $# == 2 ]; then
|
||||
cp -f "$here/data/$1" "$here/tmp/$2"
|
||||
elif [ $# == 1 ]; then
|
||||
cp -f "$here/data/$1" "$here/tmp/$1"
|
||||
else
|
||||
echo "*** error copyTestFile: illegal number of inputs = $# ***"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
##
|
||||
# copy 1 or more files from data to tmp
|
||||
copyTestFiles()
|
||||
{
|
||||
for i in "$@" ; do
|
||||
copyTestFile "$i" "$i"
|
||||
done
|
||||
for i in "$@" ; do
|
||||
copyTestFile "$i" "$i"
|
||||
done
|
||||
}
|
||||
|
||||
##
|
||||
@@ -73,7 +73,7 @@ copyTestFiles()
|
||||
reportTest()
|
||||
{
|
||||
cat $results | tr '\\' '/' > ${results}-new
|
||||
mv -f ${results}-new $results
|
||||
mv -f ${results}-new $results
|
||||
if [ ! -z `which dos2unix` ]; then
|
||||
unix2dos $results >/dev/null 2>&1
|
||||
fi
|
||||
@@ -276,12 +276,12 @@ removeTest()
|
||||
|
||||
#run tests
|
||||
runTest iptctest $tmp <<-eoc
|
||||
r Iptc.Application2.Byline
|
||||
r Iptc.Application2.Caption
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.CountryName
|
||||
r Iptc.Application2.Byline
|
||||
r Iptc.Application2.Caption
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.Keywords
|
||||
r Iptc.Application2.CountryName
|
||||
eoc
|
||||
runTest iptcprint $tmp > $test
|
||||
|
||||
@@ -303,14 +303,14 @@ addModTest()
|
||||
|
||||
#run tests
|
||||
runTest iptctest $tmp <<-eoc
|
||||
a Iptc.Application2.Headline The headline I am
|
||||
a Iptc.Application2.Keywords Yet another keyword
|
||||
m Iptc.Application2.DateCreated 2004-8-3
|
||||
a Iptc.Application2.Urgency 3
|
||||
m Iptc.Application2.SuppCategory "bla bla ba"
|
||||
a Iptc.Envelope.ModelVersion 2
|
||||
a Iptc.Envelope.TimeSent 14:41:0-05:00
|
||||
a Iptc.Application2.RasterizedCaption 230 42 34 2 90 84 23 146
|
||||
a Iptc.Application2.Headline The headline I am
|
||||
a Iptc.Application2.Keywords Yet another keyword
|
||||
m Iptc.Application2.DateCreated 2004-8-3
|
||||
a Iptc.Application2.Urgency 3
|
||||
m Iptc.Application2.SuppCategory "bla bla ba"
|
||||
a Iptc.Envelope.ModelVersion 2
|
||||
a Iptc.Envelope.TimeSent 14:41:0-05:00
|
||||
a Iptc.Application2.RasterizedCaption 230 42 34 2 90 84 23 146
|
||||
eoc
|
||||
runTest iptcprint $tmp > $test
|
||||
|
||||
@@ -379,51 +379,51 @@ real_path ()
|
||||
# prepare temp files and other variables
|
||||
prepareTest()
|
||||
{
|
||||
##
|
||||
# locale setting
|
||||
export LC_ALL=C
|
||||
##
|
||||
# locale setting
|
||||
export LC_ALL=C
|
||||
|
||||
##
|
||||
# initialize globals
|
||||
this=$(basename $0 .sh)
|
||||
here=$PWD
|
||||
datapath="../data"
|
||||
testdir="$here/tmp"
|
||||
datadir="../data"
|
||||
##
|
||||
# initialize globals
|
||||
this=$(basename $0 .sh)
|
||||
here=$PWD
|
||||
datapath="../data"
|
||||
testdir="$here/tmp"
|
||||
datadir="../data"
|
||||
|
||||
if [ -z "$EXIV2_BINDIR" ] ; then
|
||||
bin="$here/../bin"
|
||||
else
|
||||
bin="$EXIV2_BINDIR"
|
||||
fi
|
||||
if [ -z "$EXIV2_BINDIR" ] ; then
|
||||
bin="$here/../bin"
|
||||
else
|
||||
bin="$EXIV2_BINDIR"
|
||||
fi
|
||||
|
||||
os=$(uname)
|
||||
if [ "${os:0:4}" == "CYGW" ]; then
|
||||
export PLATFORM=cygwin
|
||||
else
|
||||
export PLATFORM=$os
|
||||
fi
|
||||
os=$(uname)
|
||||
if [ "${os:0:4}" == "CYGW" ]; then
|
||||
export PLATFORM=cygwin
|
||||
else
|
||||
export PLATFORM=$os
|
||||
fi
|
||||
|
||||
if [ "$PLATFORM" == cygwin -o "$PLATFORM" == mingw ]; then
|
||||
exe=.exe
|
||||
fi
|
||||
|
||||
if [ "$PLATFORM" == cygwin -o "$PLATFORM" == mingw ]; then
|
||||
# We need a private version of diff for linux compatibility
|
||||
diff()
|
||||
{
|
||||
args=()
|
||||
for i in "$@"; do
|
||||
if [ ${i:0:1} != '-' ]; then
|
||||
i="$(cygpath -aw $i)"
|
||||
fi
|
||||
args+=($i)
|
||||
done
|
||||
DIFF=$(readlink -f "$here/../msvc/diff$exe")
|
||||
chmod +x "$DIFF"
|
||||
"$DIFF" ${args[@]}
|
||||
}
|
||||
fi
|
||||
if [ "$PLATFORM" == cygwin -o "$PLATFORM" == mingw ]; then
|
||||
exe=.exe
|
||||
fi
|
||||
|
||||
if [ "$PLATFORM" == cygwin -o "$PLATFORM" == mingw ]; then
|
||||
# We need a private version of diff for linux compatibility
|
||||
diff()
|
||||
{
|
||||
args=()
|
||||
for i in "$@"; do
|
||||
if [ ${i:0:1} != '-' ]; then
|
||||
i="$(cygpath -aw $i)"
|
||||
fi
|
||||
args+=($i)
|
||||
done
|
||||
DIFF=$(readlink -f "$here/../msvc2003/diff$exe")
|
||||
chmod +x "$DIFF"
|
||||
"$DIFF" ${args[@]}
|
||||
}
|
||||
fi
|
||||
|
||||
##
|
||||
# figure out arguments for diff
|
||||
@@ -438,19 +438,19 @@ prepareTest()
|
||||
diffargs=""
|
||||
fi
|
||||
|
||||
tmpfile=tmp/ttt
|
||||
touch $tmpfile
|
||||
da1="--strip-trailing-cr"
|
||||
diff -q $da1 $tmpfile $tmpfile 2>/dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
da1=""
|
||||
fi
|
||||
da2="--ignore-matching-lines=^Usage:.*exiv2"
|
||||
diff -q $da2 $tmpfile $tmpfile 2>/dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
da2=""
|
||||
fi
|
||||
diffargs="$da1 $da2"
|
||||
tmpfile=tmp/ttt
|
||||
touch $tmpfile
|
||||
da1="--strip-trailing-cr"
|
||||
diff -q $da1 $tmpfile $tmpfile 2>/dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
da1=""
|
||||
fi
|
||||
da2="--ignore-matching-lines=^Usage:.*exiv2"
|
||||
diff -q $da2 $tmpfile $tmpfile 2>/dev/null
|
||||
if [ $? -ne 0 ] ; then
|
||||
da2=""
|
||||
fi
|
||||
diffargs="$da1 $da2"
|
||||
|
||||
##
|
||||
# test that exiv2 and some sample apps are in the bin!
|
||||
|
||||
Reference in New Issue
Block a user