This should have moved us from tiff-3.8.2 to tiff-4.0.2 . The windows builds
will need rechecking.
This commit is contained in:
parent
a2b5af5669
commit
1603dc70e2
|
@ -1091,7 +1091,7 @@ AC_CONFIG_SUBDIRS([libs/portaudio])
|
|||
AC_CONFIG_SUBDIRS([libs/openzap])
|
||||
AC_CONFIG_SUBDIRS([libs/freetdm])
|
||||
AC_CONFIG_SUBDIRS([libs/unimrcp])
|
||||
AC_CONFIG_SUBDIRS([libs/tiff-3.8.2])
|
||||
AC_CONFIG_SUBDIRS([libs/tiff-4.0.2])
|
||||
AC_CONFIG_SUBDIRS([libs/spandsp])
|
||||
AC_CONFIG_SUBDIRS([libs/broadvoice])
|
||||
AC_CONFIG_SUBDIRS([libs/libg722_1])
|
||||
|
|
|
@ -19,9 +19,9 @@
|
|||
# @start 1
|
||||
|
||||
AC_PREREQ([2.59])
|
||||
AC_INIT([spandsp], [0.0.6])
|
||||
AC_INIT([spandsp], [0.0.7])
|
||||
|
||||
SPANDSP_LT_CURRENT=2
|
||||
SPANDSP_LT_CURRENT=3
|
||||
SPANDSP_LT_REVISION=0
|
||||
SPANDSP_LT_AGE=0
|
||||
|
||||
|
@ -516,7 +516,7 @@ AM_CONDITIONAL([COND_SSE5], [test "$enable_sse5" = yes])
|
|||
AM_CONDITIONAL([COND_AVX], [test "$enable_avx" = yes])
|
||||
|
||||
if test "$enable_builtin_tiff" = "yes" ; then
|
||||
abs_tiffdir="`cd $srcdir/../tiff-3.8.2/ && pwd`"
|
||||
abs_tiffdir="`cd $srcdir/../tiff-4.0.2/ && pwd`"
|
||||
save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -I$abs_tiffdir/libtiff"
|
||||
AC_CHECK_HEADERS([tiffio.h])
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -61,7 +61,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -124,7 +124,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@ -187,7 +187,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -221,7 +221,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src;..\..\src\msvc;..\..\src\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src;..\..\src\msvc;..\..\src\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -61,7 +61,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -124,7 +124,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@ -187,7 +187,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -221,7 +221,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\src\spandsp;..\src;..\src\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
Summary: A DSP library for telephony.
|
||||
Name: spandsp
|
||||
Version: 0.0.6
|
||||
Version: 0.0.7
|
||||
Release: 1
|
||||
License: LGPLv2 and GPLv2
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.soft-switch.org/spandsp
|
||||
Source: http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.6.tar.gz
|
||||
Source: http://www.soft-switch.org/downloads/spandsp/spandsp-0.0.7.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: libtiff-devel%{?_isa}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -61,7 +61,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;"..\..\tiff-3.8.2\libtiff";"..\..\jpeg-8d""
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;"..\..\tiff-4.0.2\libtiff";"..\..\jpeg-8d""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -124,7 +124,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -203,7 +203,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@ -281,7 +281,7 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
</BuildLog>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
|
||||
</BuildLog>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
@ -118,7 +118,7 @@
|
|||
</BuildLog>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
|
@ -139,7 +139,7 @@
|
|||
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
|
||||
</BuildLog>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -92,7 +92,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -154,147 +154,147 @@
|
|||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_aux.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_aux.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_close.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_close.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_codec.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_codec.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_color.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_color.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_compress.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_compress.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dir.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dir.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirinfo.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirinfo.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirread.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirread.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirwrite.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirwrite.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dumpmode.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dumpmode.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_error.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_error.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_extension.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_extension.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3sm.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3sm.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_flush.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_flush.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_getimage.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_getimage.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_jpeg.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_jpeg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_luv.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_luv.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_lzw.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_lzw.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_next.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_next.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_ojpeg.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_ojpeg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_open.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_open.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_packbits.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_packbits.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_pixarlog.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_pixarlog.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_predict.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_predict.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_print.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_print.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_read.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_read.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_strip.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_strip.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_swab.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_swab.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_thunder.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_thunder.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_tile.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_tile.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_unix.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_unix.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_version.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_version.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_warning.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_warning.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_write.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_write.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_zip.c"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_zip.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
@ -302,47 +302,47 @@
|
|||
Name="Header Files"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\t4.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\t4.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dir.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dir.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_predict.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_predict.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiff.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiff.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffconf.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffconf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffio.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffio.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffio.hxx"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffio.hxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffiop.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffiop.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffvers.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffvers.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\uvcode.h"
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\uvcode.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Tooltiff-4.0.2s>
|
||||
</Tooltiff-4.0.2s>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
|
@ -25,11 +25,11 @@
|
|||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
BuildLogFile="$(IntDir)\BuildLog $(ProjectName).htm"
|
||||
BuildLogtiff-4.0.2="$(IntDir)\BuildLog $(ProjectName).htm"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -47,12 +47,12 @@
|
|||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="."
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_FILEIO"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_tiff-4.0.2IO"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb"
|
||||
ProgramDataBasetiff-4.0.2Name="$(IntDir)\$(TargetName).pdb"
|
||||
WarningLevel="0"
|
||||
DebugInformationFormat="4"
|
||||
CompileAs="1"
|
||||
|
@ -94,7 +94,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -113,7 +113,7 @@
|
|||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="."
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_FILEIO"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_tiff-4.0.2IO"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
|
@ -157,11 +157,11 @@
|
|||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
BuildLogFile="$(IntDir)\BuildLog $(ProjectName).htm"
|
||||
BuildLogtiff-4.0.2="$(IntDir)\BuildLog $(ProjectName).htm"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -178,10 +178,10 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_FILEIO"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_tiff-4.0.2IO"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb"
|
||||
ProgramDataBasetiff-4.0.2Name="$(IntDir)\$(TargetName).pdb"
|
||||
WarningLevel="0"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
|
@ -223,7 +223,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
"
|
||||
CommandLine="if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
|
@ -241,7 +241,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="."
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_FILEIO"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FILLODER_LSB2MSB;TIF_PLATFORM_CONSOLE;CCITT_SUPPORT;PACKBITS_SUPPORT;LZW_SUPPORT;THUNDER_SUPPORT;NEXT_SUPPORT;LOGLUV_SUPPORT;TRIPCHOP_DEFAULT=TIFF_STRIPCHOP;STRIP_SIZE_DEFAULT=8192;DEFAULT_EXTRASAMPLE_AS_ALPHA;CHECK_JPEG_YCBCR_SUBSAMPLING;AVOID_WIN32_tiff-4.0.2IO"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="0"
|
||||
|
@ -278,206 +278,206 @@
|
|||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<tiff-4.0.2s>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Name="Source tiff-4.0.2s"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_aux.c"
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_aux.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_close.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_close.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_codec.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_codec.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_color.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_color.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_compress.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_compress.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dir.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dir.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirinfo.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirinfo.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirread.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirread.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dirwrite.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dirwrite.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dumpmode.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dumpmode.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_error.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_error.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_extension.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_extension.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3sm.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3sm.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_flush.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_flush.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_getimage.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_getimage.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_jpeg.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_jpeg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_luv.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_luv.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_lzw.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_lzw.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_next.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_next.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_ojpeg.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_ojpeg.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_open.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_open.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_packbits.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_packbits.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_pixarlog.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_pixarlog.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_predict.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_predict.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_print.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_print.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_read.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_read.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_strip.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_strip.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_swab.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_swab.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_thunder.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_thunder.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_tile.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_tile.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_unix.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_unix.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_version.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_version.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_warning.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_warning.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_write.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_write.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_zip.c"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_zip.c"
|
||||
>
|
||||
</File>
|
||||
</tiff-4.0.2>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Name="Header tiff-4.0.2s"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\t4.h"
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\t4.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_dir.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_dir.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_fax3.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_fax3.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tif_predict.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tif_predict.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiff.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiff.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffconf.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffconf.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffio.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffio.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffio.hxx"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffio.hxx"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffiop.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffiop.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\tiffvers.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\tiffvers.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\tiff-3.8.2\libtiff\uvcode.h"
|
||||
</tiff-4.0.2>
|
||||
<tiff-4.0.2
|
||||
RelativePath="..\..\tiff-4.0.2\libtiff\uvcode.h"
|
||||
>
|
||||
</File>
|
||||
</tiff-4.0.2>
|
||||
</Filter>
|
||||
</Files>
|
||||
</tiff-4.0.2s>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
|
|
|
@ -75,8 +75,8 @@
|
|||
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
|
||||
</BuildLog>
|
||||
<PreBuildEvent>
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
|
@ -92,8 +92,8 @@ if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(Projec
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
|
@ -115,8 +115,8 @@ if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(Projec
|
|||
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
|
||||
</BuildLog>
|
||||
<PreBuildEvent>
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
|
@ -128,8 +128,8 @@ if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(Projec
|
|||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<PreBuildEvent>
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-3.8.2\libtiff\tif_config.h" /Y
|
||||
<Command>if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tiffconf.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tiffconf.h" /Y
|
||||
if not exist "$(ProjectDir)../../tiff-4.0.2/libtiff/tif_config.h" copy "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h.vc" "$(ProjectDir)..\..\tiff-4.0.2\libtiff\tif_config.h" /Y
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
|
@ -143,55 +143,55 @@ if not exist "$(ProjectDir)../../tiff-3.8.2/libtiff/tif_config.h" copy "$(Projec
|
|||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_aux.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_close.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_codec.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_color.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_compress.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dir.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirinfo.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirread.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirwrite.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dumpmode.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_error.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_extension.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_fax3.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_fax3sm.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_flush.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_getimage.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_jpeg.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_luv.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_lzw.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_next.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_ojpeg.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_open.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_packbits.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_pixarlog.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_predict.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_print.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_read.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_strip.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_swab.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_thunder.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_tile.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_unix.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_version.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_warning.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_write.c" />
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_zip.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_aux.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_close.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_codec.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_color.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_compress.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dir.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirinfo.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirread.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirwrite.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dumpmode.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_error.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_extension.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_fax3.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_fax3sm.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_flush.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_getimage.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_jpeg.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_luv.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_lzw.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_next.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_ojpeg.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_open.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_packbits.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_pixarlog.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_predict.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_print.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_read.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_strip.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_swab.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_thunder.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_tile.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_unix.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_version.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_warning.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_write.c" />
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_zip.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\t4.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_dir.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_fax3.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_predict.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiff.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffconf.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffio.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffio.hxx" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffiop.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffvers.h" />
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\uvcode.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\t4.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_dir.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_fax3.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_predict.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiff.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffconf.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffio.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffio.hxx" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffiop.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffvers.h" />
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\uvcode.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
|
|
|
@ -10,147 +10,147 @@
|
|||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_aux.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_aux.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_close.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_close.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_codec.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_codec.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_color.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_color.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_compress.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_compress.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dir.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dir.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirinfo.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirinfo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirread.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirread.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dirwrite.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dirwrite.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_dumpmode.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_dumpmode.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_error.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_error.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_extension.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_extension.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_fax3.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_fax3.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_fax3sm.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_fax3sm.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_flush.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_flush.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_getimage.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_getimage.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_jpeg.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_jpeg.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_luv.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_luv.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_lzw.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_lzw.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_next.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_next.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_ojpeg.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_ojpeg.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_open.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_open.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_packbits.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_packbits.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_pixarlog.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_pixarlog.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_predict.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_predict.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_print.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_print.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_read.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_read.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_strip.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_strip.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_swab.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_swab.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_thunder.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_thunder.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_tile.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_tile.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_unix.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_unix.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_version.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_version.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_warning.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_warning.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_write.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_write.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\tiff-3.8.2\libtiff\tif_zip.c">
|
||||
<ClCompile Include="..\..\tiff-4.0.2\libtiff\tif_zip.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\t4.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\t4.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_dir.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_dir.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_fax3.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_fax3.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tif_predict.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tif_predict.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiff.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiff.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffconf.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffconf.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffio.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffio.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffio.hxx">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffio.hxx">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffiop.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffiop.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\tiffvers.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\tiffvers.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\tiff-3.8.2\libtiff\uvcode.h">
|
||||
<ClInclude Include="..\..\tiff-4.0.2\libtiff\uvcode.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
tiff-4.0.2<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
|
@ -38,8 +38,8 @@
|
|||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Downloading Tiff."
|
||||
CommandLine="if not exist "$(ProjectDir)..\..\..\tiff-3.8.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/tiff-3.8.2.tar.gz "$(ProjectDir)..\..\.."
"
|
||||
Outputs="$(ProjectDir)..\..\..\tiff-3.8.2"
|
||||
CommandLine="if not exist "$(ProjectDir)..\..\..\tiff-4.0.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/tiff-4.0.2.tar.gz "$(ProjectDir)..\..\.."
"
|
||||
Outputs="$(ProjectDir)..\..\..\tiff-4.0.2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
|
|
|
@ -38,8 +38,8 @@
|
|||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Downloading Tiff."
|
||||
CommandLine="if not exist "$(ProjectDir)..\..\..\tiff-3.8.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/tiff-3.8.2.tar.gz "$(ProjectDir)..\..\.."
"
|
||||
Outputs="$(ProjectDir)..\..\..\tiff-3.8.2"
|
||||
CommandLine="if not exist "$(ProjectDir)..\..\..\tiff-4.0.2" cscript /nologo "$(ProjectDir)util.vbs" GetUnzip http://files.freeswitch.org/downloads/libs/tiff-4.0.2.tar.gz "$(ProjectDir)..\..\.."
"
|
||||
Outputs="$(ProjectDir)..\..\..\tiff-4.0.2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</BuildLog>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</BuildLog>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff;.\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff;.\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -61,7 +61,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -64,7 +64,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
@ -97,7 +97,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
@ -131,7 +131,7 @@
|
|||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;.\spandsp;.\msvc;..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
tiff-4.0.2<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9.00"
|
||||
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-3.8.2\libtiff"
|
||||
AdditionalIncludeDirectories=".;..\..\src\spandsp;..\..\src;..\..\src\msvc;..;..\..\..\tiff-4.0.2\libtiff"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
Mon Oct 5 09:57:20 CDT 2009
|
|
@ -1,21 +0,0 @@
|
|||
Copyright (c) 1988-1997 Sam Leffler
|
||||
Copyright (c) 1991-1997 Silicon Graphics, Inc.
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and
|
||||
its documentation for any purpose is hereby granted without fee, provided
|
||||
that (i) the above copyright notices and this permission notice appear in
|
||||
all copies of the software and related documentation, and (ii) the names of
|
||||
Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
publicity relating to the software without the specific, prior written
|
||||
permission of Sam Leffler and Silicon Graphics.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
OF THIS SOFTWARE.
|
File diff suppressed because it is too large
Load Diff
|
@ -1,57 +0,0 @@
|
|||
HOWTO-RELEASE:
|
||||
|
||||
Notes on releasing. You will need appropriate autoconf, automake and libtool
|
||||
utilities to release a package.
|
||||
|
||||
1. Commit any unsaved changes.
|
||||
|
||||
2. "make clean"
|
||||
|
||||
3. Create html/vX.X.html. Take ChangeLog entries and html-ify in there.
|
||||
Easist thing to do is take html/vX.(X-1).html and use it as a template.
|
||||
Add that file to the list of EXTRA_DIST files in the html/Makefile.am.
|
||||
|
||||
3.5. Update html/index.html to refer to this new page as the current release.
|
||||
|
||||
4. Increment version in configure.ac. Put 'alpha' or 'beta' after
|
||||
the version, if applicable.
|
||||
|
||||
eg.
|
||||
3.5.7
|
||||
or
|
||||
3.5.8beta
|
||||
|
||||
Version should be updated in two places: in the second argument of the
|
||||
AC_INIT macro and in LIBTIFF_xxx_VERSION variables.
|
||||
|
||||
5. autoconf
|
||||
|
||||
6. sh configure
|
||||
|
||||
7. make release -- this will update "RELEASE-DATE" and "VERSION" in the top
|
||||
level dir, and libtiff/tiffvers.h.
|
||||
|
||||
8. Please verify that the version info in RELEASE-DATE, VERSION and
|
||||
libtiff/tiffvers.h is right.
|
||||
|
||||
9. make; make distcheck (to test).
|
||||
|
||||
10. make distclean
|
||||
|
||||
11. cvs commit
|
||||
|
||||
12. cvs tag Release-v3-5-7 (or the appropriate name for the release)
|
||||
|
||||
13. configure; make dist
|
||||
Two files with names tiff-version.tar.gz and tiff-version.zip will
|
||||
be created in the top level package directory.
|
||||
|
||||
14. Copy to ftp.remotesensing.org ftp site.
|
||||
scp tiff-*.tar.gz ftp.remotesensing.org:/var/ftp/libtiff/
|
||||
scp tiff-*.zip ftp.remotesensing.org:/var/ftp/libtiff/
|
||||
|
||||
15. Announce to list, tiff@lists.maptools.org
|
||||
|
||||
16. Update libtiff page on freshmeat with new version announcement.
|
||||
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
docdir = $(LIBTIFF_DOCDIR)
|
||||
|
||||
AUTOMAKE_OPTIONS = dist-zip foreign
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
docfiles = \
|
||||
COPYRIGHT \
|
||||
ChangeLog \
|
||||
README \
|
||||
RELEASE-DATE \
|
||||
TODO \
|
||||
VERSION
|
||||
|
||||
EXTRA_DIST = \
|
||||
HOWTO-RELEASE \
|
||||
Makefile.vc \
|
||||
SConstruct \
|
||||
autogen.sh \
|
||||
nmake.opt
|
||||
|
||||
dist_doc_DATA = $(docfiles)
|
||||
|
||||
SUBDIRS = port libtiff tools contrib test man html
|
||||
|
||||
release:
|
||||
(rm -f RELEASE-DATE && echo $(LIBTIFF_RELEASE_DATE) > RELEASE-DATE)
|
||||
(rm -f VERSION && echo $(LIBTIFF_VERSION) > VERSION)
|
||||
(rm -f ./libtiff/tiffvers.h && sed 's,LIBTIFF_VERSION,$(LIBTIFF_VERSION),;s,LIBTIFF_RELEASE_DATE,$(LIBTIFF_RELEASE_DATE),' ./libtiff/tiffvers.h.in > ./libtiff/tiffvers.h)
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
# $Id: Makefile.vc,v 1.5 2006/03/23 14:54:00 dron Exp $
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
#
|
||||
# Makefile for MS Visual C and Watcom C compilers.
|
||||
# Edit nmake.opt file if you want to ajust building options.
|
||||
#
|
||||
# To build:
|
||||
# C:\libtiff> nmake /f makefile.vc
|
||||
|
||||
!INCLUDE nmake.opt
|
||||
|
||||
all: port lib tools
|
||||
|
||||
port::
|
||||
cd port
|
||||
$(MAKE) /f Makefile.vc
|
||||
cd..
|
||||
|
||||
lib: port
|
||||
cd libtiff
|
||||
$(MAKE) /f Makefile.vc
|
||||
cd..
|
||||
|
||||
tools: lib
|
||||
cd tools
|
||||
$(MAKE) /f Makefile.vc
|
||||
cd ..
|
||||
|
||||
clean:
|
||||
cd port
|
||||
$(MAKE) /f Makefile.vc clean
|
||||
cd..
|
||||
cd libtiff
|
||||
$(MAKE) /f Makefile.vc clean
|
||||
cd..
|
||||
cd tools
|
||||
$(MAKE) /f Makefile.vc clean
|
||||
cd ..
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
$Header: /cvs/maptools/cvsroot/libtiff/README,v 1.5 2004/10/30 13:44:45 dron Exp $
|
||||
|
||||
|
||||
TIFF Software Distribution
|
||||
--------------------------
|
||||
This file is just a placeholder; all the documentation is now in
|
||||
HTML in the html directory. To view the documentation point your
|
||||
favorite WWW viewer at html/index.html; e.g.
|
||||
|
||||
netscape html/index.html
|
||||
|
||||
If you don't have an HTML viewer then you can read the HTML source
|
||||
or fetch a PostScript version of this documentation from the directory
|
||||
|
||||
ftp://ftp.remotesensing.org/pub/libtiff/
|
||||
|
||||
If you can't hack either of these options then basically what you
|
||||
want to do is:
|
||||
|
||||
% ./configure
|
||||
% make
|
||||
% su
|
||||
# make install
|
||||
|
||||
More information, email contacts, and mailing list information can be
|
||||
found online at http://www.remotesensing.org/libtiff/.
|
||||
|
||||
|
||||
Use and Copyright
|
||||
-----------------
|
||||
Silicon Graphics has seen fit to allow us to give this work away. It
|
||||
is free. There is no support or guarantee of any sort as to its
|
||||
operations, correctness, or whatever. If you do anything useful with
|
||||
all or parts of it you need to honor the copyright notices. I would
|
||||
also be interested in knowing about it and, hopefully, be acknowledged.
|
||||
|
||||
The legal way of saying that is:
|
||||
|
||||
Copyright (c) 1988-1997 Sam Leffler
|
||||
Copyright (c) 1991-1997 Silicon Graphics, Inc.
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and
|
||||
its documentation for any purpose is hereby granted without fee, provided
|
||||
that (i) the above copyright notices and this permission notice appear in
|
||||
all copies of the software and related documentation, and (ii) the names of
|
||||
Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
publicity relating to the software without the specific, prior written
|
||||
permission of Sam Leffler and Silicon Graphics.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
OF THIS SOFTWARE.
|
|
@ -1 +0,0 @@
|
|||
20060323
|
|
@ -1,169 +0,0 @@
|
|||
# $Id: SConstruct,v 1.2 2006/03/23 14:54:00 dron Exp $
|
||||
|
||||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2005, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# This file contains rules to build software with the SCons tool
|
||||
# (see the http://www.scons.org/ for details on SCons).
|
||||
|
||||
import os
|
||||
|
||||
env = Environment()
|
||||
|
||||
# Read the user supplied options
|
||||
opts = Options('libtiff.conf')
|
||||
opts.Add(PathOption('PREFIX', \
|
||||
'install architecture-independent files in this directory', \
|
||||
'/usr/local', PathOption.PathIsDirCreate))
|
||||
opts.Add(BoolOption('ccitt', \
|
||||
'enable support for CCITT Group 3 & 4 algorithms', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('packbits', \
|
||||
'enable support for Macintosh PackBits algorithm', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('lzw', \
|
||||
'enable support for LZW algorithm', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('thunder', \
|
||||
'enable support for ThunderScan 4-bit RLE algorithm', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('next', \
|
||||
'enable support for NeXT 2-bit RLE algorithm', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('logluv', \
|
||||
'enable support for LogLuv high dynamic range encoding', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('strip_chopping', \
|
||||
'support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of ~8Kb to reduce memory usage)', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('extrasample_as_alpha', \
|
||||
'the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don\'t mark the alpha properly', \
|
||||
'yes'))
|
||||
opts.Add(BoolOption('check_ycbcr_subsampling', \
|
||||
'disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag', \
|
||||
'yes'))
|
||||
opts.Update(env)
|
||||
opts.Save('libtiff.conf', env)
|
||||
Help(opts.GenerateHelpText(env))
|
||||
|
||||
# Here are our installation paths:
|
||||
idir_prefix = '$PREFIX'
|
||||
idir_lib = '$PREFIX/lib'
|
||||
idir_bin = '$PREFIX/bin'
|
||||
idir_inc = '$PREFIX/include'
|
||||
idir_doc = '$PREFIX/doc'
|
||||
Export([ 'env', 'idir_prefix', 'idir_lib', 'idir_bin', 'idir_inc', 'idir_doc' ])
|
||||
|
||||
# Now proceed to system feature checks
|
||||
target_cpu, target_vendor, target_kernel, target_os = \
|
||||
os.popen("./config.guess").readlines()[0].split("-")
|
||||
|
||||
def Define(context, key, have):
|
||||
import SCons.Conftest
|
||||
SCons.Conftest._Have(context, key, have)
|
||||
|
||||
def CheckCustomOption(context, name):
|
||||
context.Message('Checking is the ' + name + ' option set... ')
|
||||
ret = env[name]
|
||||
Define(context, name + '_SUPPORT', ret)
|
||||
context.Result(ret)
|
||||
return ret
|
||||
|
||||
def CheckFillorderOption(context):
|
||||
context.Message('Checking for the native cpu bit order... ')
|
||||
if target_cpu[0] == 'i' and target_cpu[2:] == '86':
|
||||
Define(context, 'HOST_FILLORDER', 'FILLORDER_LSB2MSB')
|
||||
context.Result('lsb2msb')
|
||||
else:
|
||||
Define(context, 'HOST_FILLORDER', 'FILLORDER_MSB2LSB')
|
||||
context.Result('msb2lsb')
|
||||
return 1
|
||||
|
||||
def CheckIEEEFPOption(context):
|
||||
context.Message('Checking for the IEEE floating point format... ')
|
||||
Define(context, 'HAVE_IEEEFP', 1)
|
||||
context.Result(1)
|
||||
return 1
|
||||
|
||||
def CheckOtherOption(context, name):
|
||||
context.Message('Checking is the ' + name + ' option set... ')
|
||||
ret = env[name]
|
||||
Define(context, 'HAVE_' + name, ret)
|
||||
context.Result(ret)
|
||||
return ret
|
||||
|
||||
custom_tests = { \
|
||||
'CheckCustomOption' : CheckCustomOption, \
|
||||
'CheckFillorderOption' : CheckFillorderOption, \
|
||||
'CheckIEEEFPOption' : CheckIEEEFPOption, \
|
||||
'CheckOtherOption' : CheckOtherOption \
|
||||
}
|
||||
conf = Configure(env, custom_tests = custom_tests, \
|
||||
config_h = 'libtiff/tif_config.h')
|
||||
|
||||
# Check for standard library
|
||||
conf.CheckLib('c')
|
||||
if target_os != 'cygwin' \
|
||||
and target_os != 'mingw32' \
|
||||
and target_os != 'beos' \
|
||||
and target_os != 'darwin':
|
||||
conf.CheckLib('m')
|
||||
|
||||
# Check for system headers
|
||||
conf.CheckCHeader('assert.h')
|
||||
conf.CheckCHeader('fcntl.h')
|
||||
conf.CheckCHeader('limits.h')
|
||||
conf.CheckCHeader('malloc.h')
|
||||
conf.CheckCHeader('search.h')
|
||||
conf.CheckCHeader('sys/time.h')
|
||||
conf.CheckCHeader('unistd.h')
|
||||
|
||||
# Check for standard library functions
|
||||
conf.CheckFunc('floor')
|
||||
conf.CheckFunc('isascii')
|
||||
conf.CheckFunc('memmove')
|
||||
conf.CheckFunc('memset')
|
||||
conf.CheckFunc('mmap')
|
||||
conf.CheckFunc('pow')
|
||||
conf.CheckFunc('sqrt')
|
||||
conf.CheckFunc('strchr')
|
||||
conf.CheckFunc('strrchr')
|
||||
conf.CheckFunc('strstr')
|
||||
conf.CheckFunc('strtol')
|
||||
|
||||
conf.CheckFillorderOption()
|
||||
conf.CheckIEEEFPOption()
|
||||
conf.CheckCustomOption('ccitt')
|
||||
conf.CheckCustomOption('packbits')
|
||||
conf.CheckCustomOption('lzw')
|
||||
conf.CheckCustomOption('thunder')
|
||||
conf.CheckCustomOption('next')
|
||||
conf.CheckCustomOption('logluv')
|
||||
conf.CheckOtherOption('strip_chopping')
|
||||
conf.CheckOtherOption('extrasample_as_alpha')
|
||||
conf.CheckOtherOption('check_ycbcr_subsampling')
|
||||
|
||||
env = conf.Finish()
|
||||
|
||||
# Ok, now go to build files in the subdirectories
|
||||
SConscript(dirs = [ 'libtiff' ], name = 'SConstruct')
|
|
@ -1,12 +0,0 @@
|
|||
# $Header: /cvs/maptools/cvsroot/libtiff/TODO,v 1.6 2002/10/10 05:28:43 warmerda Exp $
|
||||
|
||||
o gif2tiff segaulting on selected images
|
||||
o tiffcmp read data by strip/tile instead of scanline
|
||||
o YCbCr sampling support
|
||||
o extracate colorspace conversion support
|
||||
o look at isolating all codecs from TIFF library
|
||||
o JPEG colormode order dependency problem
|
||||
o Write documentation on how do extend tags, and how the custom field
|
||||
stuff all works.
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
3.8.2
|
|
@ -1,669 +0,0 @@
|
|||
dnl ---------------------------------------------------------------------------
|
||||
dnl Message output
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_DEFUN([LOC_MSG],[echo "$1"])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/vl_prog_cc_warnings.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis VL_PROG_CC_WARNINGS([ANSI])
|
||||
dnl
|
||||
dnl Enables a reasonable set of warnings for the C compiler.
|
||||
dnl Optionally, if the first argument is nonempty, turns on flags which
|
||||
dnl enforce and/or enable proper ANSI C if such are known with the
|
||||
dnl compiler used.
|
||||
dnl
|
||||
dnl Currently this macro knows about GCC, Solaris C compiler, Digital
|
||||
dnl Unix C compiler, C for AIX Compiler, HP-UX C compiler, IRIX C
|
||||
dnl compiler, NEC SX-5 (Super-UX 10) C compiler, and Cray J90 (Unicos
|
||||
dnl 10.0.0.8) C compiler.
|
||||
dnl
|
||||
dnl @category C
|
||||
dnl @author Ville Laurikari <vl@iki.fi>
|
||||
dnl @version 2002-04-04
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([VL_PROG_CC_WARNINGS], [
|
||||
ansi=$1
|
||||
if test -z "$ansi"; then
|
||||
msg="for C compiler warning flags"
|
||||
else
|
||||
msg="for C compiler warning and ANSI conformance flags"
|
||||
fi
|
||||
AC_CACHE_CHECK($msg, vl_cv_prog_cc_warnings, [
|
||||
if test -n "$CC"; then
|
||||
cat > conftest.c <<EOF
|
||||
int main(int argc, char **argv) { return 0; }
|
||||
EOF
|
||||
|
||||
dnl GCC. -W option has been renamed in -wextra in latest gcc versions.
|
||||
if test "$GCC" = "yes"; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-Wall -W"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-Wall -W -ansi -pedantic"
|
||||
fi
|
||||
|
||||
dnl Most compilers print some kind of a version string with some command
|
||||
dnl line options (often "-V"). The version string should be checked
|
||||
dnl before doing a test compilation run with compiler-specific flags.
|
||||
dnl This is because some compilers (like the Cray compiler) only
|
||||
dnl produce a warning message for unknown flags instead of returning
|
||||
dnl an error, resulting in a false positive. Also, compilers may do
|
||||
dnl erratic things when invoked with flags meant for a different
|
||||
dnl compiler.
|
||||
|
||||
dnl Solaris C compiler
|
||||
elif $CC -V 2>&1 | grep -i "WorkShop" > /dev/null 2>&1 &&
|
||||
$CC -c -v -Xc conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-v"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-v -Xc"
|
||||
fi
|
||||
|
||||
dnl Digital Unix C compiler
|
||||
elif $CC -V 2>&1 | grep -i "Digital UNIX Compiler" > /dev/null 2>&1 &&
|
||||
$CC -c -verbose -w0 -warnprotos -std1 conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-verbose -w0 -warnprotos"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-verbose -w0 -warnprotos -std1"
|
||||
fi
|
||||
|
||||
dnl C for AIX Compiler
|
||||
elif $CC 2>&1 | grep -i "C for AIX Compiler" > /dev/null 2>&1 &&
|
||||
$CC -c -qlanglvl=ansi -qinfo=all conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-qsrcmsg -qinfo=all:noppt:noppc:noobs:nocnd -qlanglvl=ansi"
|
||||
fi
|
||||
|
||||
dnl IRIX C compiler
|
||||
elif $CC -version 2>&1 | grep -i "MIPSpro Compilers" > /dev/null 2>&1 &&
|
||||
$CC -c -fullwarn -ansi -ansiE conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-fullwarn"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-fullwarn -ansi -ansiE"
|
||||
fi
|
||||
|
||||
dnl HP-UX C compiler
|
||||
elif what $CC 2>&1 | grep -i "HP C Compiler" > /dev/null 2>&1 &&
|
||||
$CC -c -Aa +w1 conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="+w1"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="+w1 -Aa"
|
||||
fi
|
||||
|
||||
dnl The NEC SX-5 (Super-UX 10) C compiler
|
||||
elif $CC -V 2>&1 | grep "/SX" > /dev/null 2>&1 &&
|
||||
$CC -c -pvctl[,]fullmsg -Xc conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-pvctl[,]fullmsg"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-pvctl[,]fullmsg -Xc"
|
||||
fi
|
||||
|
||||
dnl The Cray C compiler (Unicos)
|
||||
elif $CC -V 2>&1 | grep -i "Cray" > /dev/null 2>&1 &&
|
||||
$CC -c -h msglevel 2 conftest.c > /dev/null 2>&1 &&
|
||||
test -f conftest.o; then
|
||||
if test -z "$ansi"; then
|
||||
vl_cv_prog_cc_warnings="-h msglevel 2"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="-h msglevel 2 -h conform"
|
||||
fi
|
||||
|
||||
fi
|
||||
rm -f conftest.*
|
||||
fi
|
||||
if test -n "$vl_cv_prog_cc_warnings"; then
|
||||
CFLAGS="$CFLAGS $vl_cv_prog_cc_warnings"
|
||||
else
|
||||
vl_cv_prog_cc_warnings="unknown"
|
||||
fi
|
||||
])
|
||||
])dnl
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://autoconf-archive.cryp.to/ax_lang_compiler_ms.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis AX_LANG_COMPILER_MS
|
||||
dnl
|
||||
dnl Check whether the compiler for the current language is Microsoft.
|
||||
dnl
|
||||
dnl This macro is modeled after _AC_LANG_COMPILER_GNU in the GNU
|
||||
dnl Autoconf implementation.
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @author Braden McDaniel <braden@endoframe.com>
|
||||
dnl @version 2004-11-15
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([AX_LANG_COMPILER_MS],
|
||||
[AC_CACHE_CHECK([whether we are using the Microsoft _AC_LANG compiler],
|
||||
[ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms],
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef _MSC_VER
|
||||
choke me
|
||||
#endif
|
||||
]])],
|
||||
[ax_compiler_ms=yes],
|
||||
[ax_compiler_ms=no])
|
||||
ax_cv_[]_AC_LANG_ABBREV[]_compiler_ms=$ax_compiler_ms
|
||||
])])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/ax_check_gl.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis AX_CHECK_GL
|
||||
dnl
|
||||
dnl Check for an OpenGL implementation. If GL is found, the required
|
||||
dnl compiler and linker flags are included in the output variables
|
||||
dnl "GL_CFLAGS" and "GL_LIBS", respectively. This macro adds the
|
||||
dnl configure option "--with-apple-opengl-framework", which users can
|
||||
dnl use to indicate that Apple's OpenGL framework should be used on Mac
|
||||
dnl OS X. If Apple's OpenGL framework is used, the symbol
|
||||
dnl "HAVE_APPLE_OPENGL_FRAMEWORK" is defined. If no GL implementation
|
||||
dnl is found, "no_gl" is set to "yes".
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @author Braden McDaniel <braden@endoframe.com>
|
||||
dnl @version 2004-11-15
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([AX_CHECK_GL],
|
||||
[AC_REQUIRE([AC_PATH_X])dnl
|
||||
AC_REQUIRE([ACX_PTHREAD])dnl
|
||||
|
||||
#
|
||||
# There isn't a reliable way to know we should use the Apple OpenGL framework
|
||||
# without a configure option. A Mac OS X user may have installed an
|
||||
# alternative GL implementation (e.g., Mesa), which may or may not depend on X.
|
||||
#
|
||||
AC_ARG_WITH([apple-opengl-framework],
|
||||
[AC_HELP_STRING([--with-apple-opengl-framework],
|
||||
[use Apple OpenGL framework (Mac OS X only)])])
|
||||
if test "X$with_apple_opengl_framework" = "Xyes"; then
|
||||
AC_DEFINE([HAVE_APPLE_OPENGL_FRAMEWORK], [1],
|
||||
[Use the Apple OpenGL framework.])
|
||||
GL_LIBS="-framework OpenGL"
|
||||
else
|
||||
AC_LANG_PUSH(C)
|
||||
|
||||
AX_LANG_COMPILER_MS
|
||||
if test X$ax_compiler_ms = Xno; then
|
||||
GL_CFLAGS="${PTHREAD_CFLAGS}"
|
||||
GL_LIBS="${PTHREAD_LIBS} -lm"
|
||||
fi
|
||||
|
||||
#
|
||||
# Use x_includes and x_libraries if they have been set (presumably by
|
||||
# AC_PATH_X).
|
||||
#
|
||||
if test "X$no_x" != "Xyes"; then
|
||||
if test -n "$x_includes"; then
|
||||
GL_CFLAGS="-I${x_includes} ${GL_CFLAGS}"
|
||||
fi
|
||||
if test -n "$x_libraries"; then
|
||||
GL_LIBS="-L${x_libraries} -lX11 ${GL_LIBS}"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS([windows.h])
|
||||
|
||||
AC_CACHE_CHECK([for OpenGL library], [ax_cv_check_gl_libgl],
|
||||
[ax_cv_check_gl_libgl="no"
|
||||
ax_save_CPPFLAGS="${CPPFLAGS}"
|
||||
CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}"
|
||||
ax_save_LIBS="${LIBS}"
|
||||
LIBS=""
|
||||
ax_check_libs="-lopengl32 -lGL"
|
||||
for ax_lib in ${ax_check_libs}; do
|
||||
if test X$ax_compiler_ms = Xyes; then
|
||||
ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`
|
||||
else
|
||||
ax_try_lib="${ax_lib}"
|
||||
fi
|
||||
LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
# if HAVE_WINDOWS_H && defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# endif
|
||||
# include <GL/gl.h>]],
|
||||
[[glBegin(0)]])],
|
||||
[ax_cv_check_gl_libgl="${ax_try_lib}"; break])
|
||||
done
|
||||
LIBS=${ax_save_LIBS}
|
||||
CPPFLAGS=${ax_save_CPPFLAGS}])
|
||||
|
||||
if test "X${ax_cv_check_gl_libgl}" = "Xno"; then
|
||||
no_gl="yes"
|
||||
GL_CFLAGS=""
|
||||
GL_LIBS=""
|
||||
else
|
||||
GL_LIBS="${ax_cv_check_gl_libgl} ${GL_LIBS}"
|
||||
fi
|
||||
AC_LANG_POP(C)
|
||||
fi
|
||||
|
||||
AC_SUBST([GL_CFLAGS])
|
||||
AC_SUBST([GL_LIBS])
|
||||
])dnl
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/ax_check_glu.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis AX_CHECK_GLU
|
||||
dnl
|
||||
dnl Check for GLU. If GLU is found, the required preprocessor and
|
||||
dnl linker flags are included in the output variables "GLU_CFLAGS" and
|
||||
dnl "GLU_LIBS", respectively. This macro adds the configure option
|
||||
dnl "--with-apple-opengl-framework", which users can use to indicate
|
||||
dnl that Apple's OpenGL framework should be used on Mac OS X. If
|
||||
dnl Apple's OpenGL framework is used, the symbol
|
||||
dnl "HAVE_APPLE_OPENGL_FRAMEWORK" is defined. If no GLU implementation
|
||||
dnl is found, "no_glu" is set to "yes".
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @author Braden McDaniel <braden@endoframe.com>
|
||||
dnl @version 2004-11-15
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([AX_CHECK_GLU],
|
||||
[AC_REQUIRE([AX_CHECK_GL])dnl
|
||||
AC_REQUIRE([AC_PROG_CXX])dnl
|
||||
GLU_CFLAGS="${GL_CFLAGS}"
|
||||
if test "X${with_apple_opengl_framework}" != "Xyes"; then
|
||||
AC_CACHE_CHECK([for OpenGL Utility library], [ax_cv_check_glu_libglu],
|
||||
[ax_cv_check_glu_libglu="no"
|
||||
ax_save_CPPFLAGS="${CPPFLAGS}"
|
||||
CPPFLAGS="${GL_CFLAGS} ${CPPFLAGS}"
|
||||
ax_save_LIBS="${LIBS}"
|
||||
LIBS=""
|
||||
ax_check_libs="-lglu32 -lGLU"
|
||||
for ax_lib in ${ax_check_libs}; do
|
||||
if test X$ax_compiler_ms = Xyes; then
|
||||
ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`
|
||||
else
|
||||
ax_try_lib="${ax_lib}"
|
||||
fi
|
||||
LIBS="${ax_try_lib} ${GL_LIBS} ${ax_save_LIBS}"
|
||||
#
|
||||
# libGLU typically links with libstdc++ on POSIX platforms. However,
|
||||
# setting the language to C++ means that test program source is named
|
||||
# "conftest.cc"; and Microsoft cl doesn't know what to do with such a
|
||||
# file.
|
||||
#
|
||||
AC_LANG_PUSH([C++])
|
||||
if test X$ax_compiler_ms = Xyes; then
|
||||
AC_LANG_PUSH([C])
|
||||
fi
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
# if HAVE_WINDOWS_H && defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# endif
|
||||
# include <GL/glu.h>]],
|
||||
[[gluBeginCurve(0)]])],
|
||||
[ax_cv_check_glu_libglu="${ax_try_lib}"; break])
|
||||
if test X$ax_compiler_ms = Xyes; then
|
||||
AC_LANG_POP([C])
|
||||
fi
|
||||
AC_LANG_POP([C++])
|
||||
done
|
||||
LIBS=${ax_save_LIBS}
|
||||
CPPFLAGS=${ax_save_CPPFLAGS}])
|
||||
if test "X${ax_cv_check_glu_libglu}" = "Xno"; then
|
||||
no_glu="yes"
|
||||
GLU_CFLAGS=""
|
||||
GLU_LIBS=""
|
||||
else
|
||||
GLU_LIBS="${ax_cv_check_glu_libglu} ${GL_LIBS}"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([GLU_CFLAGS])
|
||||
AC_SUBST([GLU_LIBS])
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/ax_check_glut.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis AX_CHECK_GLUT
|
||||
dnl
|
||||
dnl Check for GLUT. If GLUT is found, the required compiler and linker
|
||||
dnl flags are included in the output variables "GLUT_CFLAGS" and
|
||||
dnl "GLUT_LIBS", respectively. This macro adds the configure option
|
||||
dnl "--with-apple-opengl-framework", which users can use to indicate
|
||||
dnl that Apple's OpenGL framework should be used on Mac OS X. If
|
||||
dnl Apple's OpenGL framework is used, the symbol
|
||||
dnl "HAVE_APPLE_OPENGL_FRAMEWORK" is defined. If GLUT is not found,
|
||||
dnl "no_glut" is set to "yes".
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @author Braden McDaniel <braden@endoframe.com>
|
||||
dnl @version 2004-11-15
|
||||
dnl @license AllPermissive
|
||||
|
||||
AC_DEFUN([AX_CHECK_GLUT],
|
||||
[AC_REQUIRE([AX_CHECK_GLU])dnl
|
||||
AC_REQUIRE([AC_PATH_XTRA])dnl
|
||||
|
||||
if test "X$with_apple_opengl_framework" = "Xyes"; then
|
||||
GLUT_CFLAGS="${GLU_CFLAGS}"
|
||||
GLUT_LIBS="-framework GLUT -lobjc ${GL_LIBS}"
|
||||
else
|
||||
GLUT_CFLAGS=${GLU_CFLAGS}
|
||||
GLUT_LIBS=${GLU_LIBS}
|
||||
|
||||
#
|
||||
# If X is present, assume GLUT depends on it.
|
||||
#
|
||||
if test "X${no_x}" != "Xyes"; then
|
||||
GLUT_LIBS="${X_PRE_LIBS} -lXmu -lXi ${X_EXTRA_LIBS} ${GLUT_LIBS}"
|
||||
fi
|
||||
|
||||
AC_LANG_PUSH(C)
|
||||
|
||||
ax_save_CPPFLAGS="${CPPFLAGS}"
|
||||
CPPFLAGS="${GLUT_CFLAGS} ${CPPFLAGS}"
|
||||
|
||||
AC_CACHE_CHECK([for GLUT library], [ax_cv_check_glut_libglut],
|
||||
[ax_cv_check_glut_libglut="no"
|
||||
ax_save_LIBS="${LIBS}"
|
||||
LIBS=""
|
||||
ax_check_libs="-lglut32 -lglut"
|
||||
for ax_lib in ${ax_check_libs}; do
|
||||
if test X$ax_compiler_ms = Xyes; then
|
||||
ax_try_lib=`echo $ax_lib | sed -e 's/^-l//' -e 's/$/.lib/'`
|
||||
else
|
||||
ax_try_lib="${ax_lib}"
|
||||
fi
|
||||
LIBS="${ax_try_lib} ${GLUT_LIBS} ${ax_save_LIBS}"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
# if HAVE_WINDOWS_H && defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# endif
|
||||
# include <GL/glut.h>]],
|
||||
[[glutMainLoop()]])],
|
||||
[ax_cv_check_glut_libglut="${ax_try_lib}"; break])
|
||||
|
||||
done
|
||||
LIBS=${ax_save_LIBS}
|
||||
])
|
||||
CPPFLAGS="${ax_save_CPPFLAGS}"
|
||||
AC_LANG_POP(C)
|
||||
|
||||
if test "X${ax_cv_check_glut_libglut}" = "Xno"; then
|
||||
no_glut="yes"
|
||||
GLUT_CFLAGS=""
|
||||
GLUT_LIBS=""
|
||||
else
|
||||
GLUT_LIBS="${ax_cv_check_glut_libglut} ${GLUT_LIBS}"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_SUBST([GLUT_CFLAGS])
|
||||
AC_SUBST([GLUT_LIBS])
|
||||
])dnl
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Available from the GNU Autoconf Macro Archive at:
|
||||
dnl http://www.gnu.org/software/ac-archive/acx_pthread.html
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
dnl
|
||||
dnl This macro figures out how to build C programs using POSIX threads.
|
||||
dnl It sets the PTHREAD_LIBS output variable to the threads library and
|
||||
dnl linker flags, and the PTHREAD_CFLAGS output variable to any special
|
||||
dnl C compiler flags that are needed. (The user can also force certain
|
||||
dnl compiler flags/libs to be tested by setting these environment
|
||||
dnl variables.)
|
||||
dnl
|
||||
dnl Also sets PTHREAD_CC to any special C compiler that is needed for
|
||||
dnl multi-threaded programs (defaults to the value of CC otherwise).
|
||||
dnl (This is necessary on AIX to use the special cc_r compiler alias.)
|
||||
dnl
|
||||
dnl NOTE: You are assumed to not only compile your program with these
|
||||
dnl flags, but also link it with them as well. e.g. you should link
|
||||
dnl with $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS
|
||||
dnl $LIBS
|
||||
dnl
|
||||
dnl If you are only building threads programs, you may wish to use
|
||||
dnl these variables in your default LIBS, CFLAGS, and CC:
|
||||
dnl
|
||||
dnl LIBS="$PTHREAD_LIBS $LIBS"
|
||||
dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
dnl CC="$PTHREAD_CC"
|
||||
dnl
|
||||
dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
|
||||
dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to
|
||||
dnl that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
|
||||
dnl
|
||||
dnl ACTION-IF-FOUND is a list of shell commands to run if a threads
|
||||
dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands to
|
||||
dnl run it if it is not found. If ACTION-IF-FOUND is not specified, the
|
||||
dnl default action will define HAVE_PTHREAD.
|
||||
dnl
|
||||
dnl Please let the authors know if this macro fails on any platform, or
|
||||
dnl if you have any other suggestions or comments. This macro was based
|
||||
dnl on work by SGJ on autoconf scripts for FFTW (www.fftw.org) (with
|
||||
dnl help from M. Frigo), as well as ac_pthread and hb_pthread macros
|
||||
dnl posted by Alejandro Forero Cuervo to the autoconf macro repository.
|
||||
dnl We are also grateful for the helpful feedback of numerous users.
|
||||
dnl
|
||||
dnl @category InstalledPackages
|
||||
dnl @author Steven G. Johnson <stevenj@alum.mit.edu>
|
||||
dnl @version 2005-01-14
|
||||
dnl @license GPLWithACException
|
||||
|
||||
AC_DEFUN([ACX_PTHREAD], [
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
acx_pthread_ok=no
|
||||
|
||||
# We used to check for pthread.h first, but this fails if pthread.h
|
||||
# requires special compiler flags (e.g. on True64 or Sequent).
|
||||
# It gets checked for in the link test anyway.
|
||||
|
||||
# First of all, check if the user has set any of the PTHREAD_LIBS,
|
||||
# etcetera environment variables, and if threads linking works using
|
||||
# them:
|
||||
if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
|
||||
AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes)
|
||||
AC_MSG_RESULT($acx_pthread_ok)
|
||||
if test x"$acx_pthread_ok" = xno; then
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
fi
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
fi
|
||||
|
||||
# We must check for the threads library under a number of different
|
||||
# names; the ordering is very important because some systems
|
||||
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
|
||||
# libraries is broken (non-POSIX).
|
||||
|
||||
# Create a list of thread flags to try. Items starting with a "-" are
|
||||
# C compiler flags, and other items are library names, except for "none"
|
||||
# which indicates that we try without any flags at all, and "pthread-config"
|
||||
# which is a program returning the flags for the Pth emulation library.
|
||||
|
||||
acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
|
||||
|
||||
# The ordering *is* (sometimes) important. Some notes on the
|
||||
# individual items follow:
|
||||
|
||||
# pthreads: AIX (must check this before -lpthread)
|
||||
# none: in case threads are in libc; should be tried before -Kthread and
|
||||
# other compiler flags to prevent continual compiler warnings
|
||||
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
|
||||
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
|
||||
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
|
||||
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
|
||||
# -pthreads: Solaris/gcc
|
||||
# -mthreads: Mingw32/gcc, Lynx/gcc
|
||||
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
|
||||
# doesn't hurt to check since this sometimes defines pthreads too;
|
||||
# also defines -D_REENTRANT)
|
||||
# pthread: Linux, etcetera
|
||||
# --thread-safe: KAI C++
|
||||
# pthread-config: use pthread-config program (for GNU Pth library)
|
||||
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*solaris*)
|
||||
|
||||
# On Solaris (at least, for some versions), libc contains stubbed
|
||||
# (non-functional) versions of the pthreads routines, so link-based
|
||||
# tests will erroneously succeed. (We need to link with -pthread or
|
||||
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
|
||||
# a function called by this macro, so we could check for that, but
|
||||
# who knows whether they'll stub that too in a future libc.) So,
|
||||
# we'll just look for -pthreads and -lpthread first:
|
||||
|
||||
acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x"$acx_pthread_ok" = xno; then
|
||||
for flag in $acx_pthread_flags; do
|
||||
|
||||
case $flag in
|
||||
none)
|
||||
AC_MSG_CHECKING([whether pthreads work without any flags])
|
||||
;;
|
||||
|
||||
-*)
|
||||
AC_MSG_CHECKING([whether pthreads work with $flag])
|
||||
PTHREAD_CFLAGS="$flag"
|
||||
;;
|
||||
|
||||
pthread-config)
|
||||
AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no)
|
||||
if test x"$acx_pthread_config" = xno; then continue; fi
|
||||
PTHREAD_CFLAGS="`pthread-config --cflags`"
|
||||
PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
|
||||
;;
|
||||
|
||||
*)
|
||||
AC_MSG_CHECKING([for the pthreads library -l$flag])
|
||||
PTHREAD_LIBS="-l$flag"
|
||||
;;
|
||||
esac
|
||||
|
||||
save_LIBS="$LIBS"
|
||||
save_CFLAGS="$CFLAGS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
|
||||
# Check for various functions. We must include pthread.h,
|
||||
# since some functions may be macros. (On the Sequent, we
|
||||
# need a special flag -Kthread to make this header compile.)
|
||||
# We check for pthread_join because it is in -lpthread on IRIX
|
||||
# while pthread_create is in libc. We check for pthread_attr_init
|
||||
# due to DEC craziness with -lpthreads. We check for
|
||||
# pthread_cleanup_push because it is one of the few pthread
|
||||
# functions on Solaris that doesn't have a non-functional libc stub.
|
||||
# We try pthread_create on general principles.
|
||||
AC_TRY_LINK([#include <pthread.h>],
|
||||
[pthread_t th; pthread_join(th, 0);
|
||||
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
||||
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
||||
[acx_pthread_ok=yes])
|
||||
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
AC_MSG_RESULT($acx_pthread_ok)
|
||||
if test "x$acx_pthread_ok" = xyes; then
|
||||
break;
|
||||
fi
|
||||
|
||||
PTHREAD_LIBS=""
|
||||
PTHREAD_CFLAGS=""
|
||||
done
|
||||
fi
|
||||
|
||||
# Various other checks:
|
||||
if test "x$acx_pthread_ok" = xyes; then
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$PTHREAD_LIBS $LIBS"
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
||||
|
||||
# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
|
||||
AC_MSG_CHECKING([for joinable pthread attribute])
|
||||
attr_name=unknown
|
||||
for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
|
||||
AC_TRY_LINK([#include <pthread.h>], [int attr=$attr;],
|
||||
[attr_name=$attr; break])
|
||||
done
|
||||
AC_MSG_RESULT($attr_name)
|
||||
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
|
||||
AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
|
||||
[Define to necessary symbol if this constant
|
||||
uses a non-standard name on your system.])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if more special flags are required for pthreads])
|
||||
flag=no
|
||||
case "${host_cpu}-${host_os}" in
|
||||
*-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";;
|
||||
*solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";;
|
||||
esac
|
||||
AC_MSG_RESULT(${flag})
|
||||
if test "x$flag" != xno; then
|
||||
PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
|
||||
fi
|
||||
|
||||
LIBS="$save_LIBS"
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
# More AIX lossage: must compile with cc_r
|
||||
AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
|
||||
else
|
||||
PTHREAD_CC="$CC"
|
||||
fi
|
||||
|
||||
AC_SUBST(PTHREAD_LIBS)
|
||||
AC_SUBST(PTHREAD_CFLAGS)
|
||||
AC_SUBST(PTHREAD_CC)
|
||||
|
||||
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
|
||||
if test x"$acx_pthread_ok" = xyes; then
|
||||
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
|
||||
:
|
||||
else
|
||||
acx_pthread_ok=no
|
||||
$2
|
||||
fi
|
||||
AC_LANG_RESTORE
|
||||
])dnl ACX_PTHREAD
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/sh
|
||||
set -x
|
||||
#libtoolize --force --copy
|
||||
aclocal -I ./m4
|
||||
autoheader
|
||||
automake --foreign --add-missing --copy
|
||||
autoconf
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
|
||||
scriptversion=2005-05-14.22
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand `-c -o'.
|
||||
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file `INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
eat=
|
||||
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as `compile cc -o foo foo.c'.
|
||||
# So we strip `-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
ofile=$2
|
||||
;;
|
||||
*)
|
||||
set x "$@" -o "$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*.c)
|
||||
cfile=$1
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no `-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# `.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use `[/.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
# FIXME: race condition here if user kills between mkdir and trap.
|
||||
trap "rmdir '$lockdir'; exit 1" 1 2 15
|
||||
|
||||
# Run the compile.
|
||||
"$@"
|
||||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
exit $ret
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -1,530 +0,0 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2005-07-09.11
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by `PROGRAMS ARGS'.
|
||||
object Object file output by `PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputing dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mecanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -1,360 +0,0 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2005-06-08.21
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
|
||||
# Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case "$1" in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program).
|
||||
case "$1" in
|
||||
lex|yacc)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
tar)
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case "$1" in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case "$f" in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f y.tab.h ]; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if [ ! -f y.tab.c ]; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if [ $# -ne 1 ]; then
|
||||
eval LASTARG="\${$#}"
|
||||
case "$LASTARG" in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if [ -f "$SRCFILE" ]; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -f lex.yy.c ]; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
|
||||
fi
|
||||
if [ -f "$file" ]; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case "$firstarg" in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case "$firstarg" in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -1,158 +0,0 @@
|
|||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2005-06-29.22
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
pathcomp=$pathcomp$d
|
||||
case $pathcomp in
|
||||
-*) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp"
|
||||
|
||||
mkdir "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
errstatus=$lasterr
|
||||
else
|
||||
if test ! -z "$dirmode"; then
|
||||
echo "chmod $dirmode $pathcomp"
|
||||
lasterr=
|
||||
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||
|
||||
if test ! -z "$lasterr"; then
|
||||
errstatus=$lasterr
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -1,571 +0,0 @@
|
|||
dnl -*- Autoconf -*-
|
||||
dnl Tag Image File Format (TIFF) Software
|
||||
dnl
|
||||
dnl Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
dnl
|
||||
dnl Permission to use, copy, modify, distribute, and sell this software and
|
||||
dnl its documentation for any purpose is hereby granted without fee, provided
|
||||
dnl that (i) the above copyright notices and this permission notice appear in
|
||||
dnl all copies of the software and related documentation, and (ii) the names of
|
||||
dnl Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
dnl publicity relating to the software without the specific, prior written
|
||||
dnl permission of Sam Leffler and Silicon Graphics.
|
||||
dnl
|
||||
dnl THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
dnl EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
dnl WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
dnl
|
||||
dnl IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
dnl ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
dnl OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
dnl WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
dnl LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
dnl OF THIS SOFTWARE.
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([LibTIFF Software], 3.8.2, [tiff@lists.maptools.org], tiff)
|
||||
AC_CONFIG_AUX_DIR(config)
|
||||
AC_CONFIG_MACRO_DIR(m4)
|
||||
AC_LANG(C)
|
||||
CFLAGS="$CFLAGS $CONFIGURE_CFLAGS"
|
||||
CXXFLAGS="$CXXFLAGS $CONFIGURE_CXXFLAGS"
|
||||
LDFLAGS="$LDFLAGS $CONFIGURE_LDFLAGS"
|
||||
|
||||
dnl Compute the canonical target-system type variable
|
||||
AC_CANONICAL_TARGET
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
dnl Do not rebuild generated files every time
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
dnl Versioning.
|
||||
dnl Don't fill the ALPHA_VERSION field, if not applicable.
|
||||
LIBTIFF_MAJOR_VERSION=3
|
||||
LIBTIFF_MINOR_VERSION=8
|
||||
LIBTIFF_MICRO_VERSION=2
|
||||
LIBTIFF_ALPHA_VERSION=
|
||||
LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
|
||||
dnl This will be used with the 'make release' target
|
||||
LIBTIFF_RELEASE_DATE=`date +"%Y%m%d"`
|
||||
|
||||
# This is a special hack for OpenBSD and MirOS systems. The dynamic linker
|
||||
# in OpenBSD uses some special semantics for shared libraries. Their soname
|
||||
# contains only two numbers, major and minor.
|
||||
# See http://bugzilla.remotesensing.org/show_bug.cgi?id=838 for details.
|
||||
case "$target_os" in
|
||||
openbsd* | mirbsd*)
|
||||
LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION:0
|
||||
;;
|
||||
*)
|
||||
LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION:$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(LIBTIFF_MAJOR_VERSION)
|
||||
AC_SUBST(LIBTIFF_MINOR_VERSION)
|
||||
AC_SUBST(LIBTIFF_MICRO_VERSION)
|
||||
AC_SUBST(LIBTIFF_ALPHA_VERSION)
|
||||
AC_SUBST(LIBTIFF_VERSION)
|
||||
AC_SUBST(LIBTIFF_VERSION_INFO)
|
||||
AC_SUBST(LIBTIFF_RELEASE_DATE)
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_PROG_CC
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
dnl We want warnings. As many warnings as possible.
|
||||
VL_PROG_CC_WARNINGS()
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_LIBTOOL
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
|
||||
dnl Checks for libraries.
|
||||
AC_CHECK_LIB([c], [main])
|
||||
|
||||
dnl We don't need to add math library at all targets
|
||||
case "$target_os" in
|
||||
cygwin* | mingw32* | beos* | darwin*)
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(m,main,,,)
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_CHECK_HEADERS([assert.h fcntl.h limits.h malloc.h search.h sys/time.h unistd.h])
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_C_BIGENDIAN
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_CHECK_SIZEOF(int)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TM
|
||||
dnl Some compilers (IBM VisualAge) has these types defined, so check it here:
|
||||
AC_CHECK_TYPES([int8, int16, int32],,,
|
||||
[
|
||||
#if HAVE_INTTYPES_H
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
])
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_CHECK_FUNCS([floor isascii memmove memset mmap pow sqrt strchr strrchr strstr strtol])
|
||||
|
||||
dnl Will use local replacements for unavailable functions
|
||||
AC_REPLACE_FUNCS(getopt)
|
||||
AC_REPLACE_FUNCS(strcasecmp)
|
||||
AC_REPLACE_FUNCS(strtoul)
|
||||
AC_REPLACE_FUNCS(lfind)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check the native cpu bit order.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_MSG_CHECKING([native cpu bit order])
|
||||
case "$target_cpu" in
|
||||
i*86*)
|
||||
HOST_FILLORDER=FILLORDER_LSB2MSB
|
||||
AC_MSG_RESULT([lsb2msb])
|
||||
;;
|
||||
*)
|
||||
HOST_FILLORDER=FILLORDER_MSB2LSB
|
||||
AC_MSG_RESULT([msb2lsb])
|
||||
;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED(HOST_FILLORDER, $HOST_FILLORDER, [Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB)])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Configure legacy tifconf.h HOST_BIGENDIAN.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
if test "$ac_cv_c_bigendian" = yes ; then
|
||||
HOST_BIGENDIAN=1
|
||||
else
|
||||
HOST_BIGENDIAN=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(HOST_BIGENDIAN,$HOST_BIGENDIAN,[Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian (Intel)])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Make the POSIX.2 features available.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
#_POSIX_C_SOURCE=2
|
||||
#AC_DEFINE_UNQUOTED(_POSIX_C_SOURCE, $_POSIX_C_SOURCE, [Define this macro to a positive integer to control which POSIX functionality is made available.])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Set the floating point format.
|
||||
dnl FIXME: write appropriate test.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
HAVE_IEEEFP=1
|
||||
AC_DEFINE_UNQUOTED(HAVE_IEEEFP, $HAVE_IEEEFP, [Define as 0 or 1 according to the floating point format suported by the machine])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Enable run-time paths to libraries usage.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(rpath,
|
||||
AS_HELP_STRING([--enable-rpath],
|
||||
[Enable runtime linker paths (-R libtool option)]),
|
||||
[HAVE_RPATH=$enableval], [HAVE_RPATH=no])
|
||||
AM_CONDITIONAL(HAVE_RPATH, test "$HAVE_RPATH" = "yes")
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Support large files.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Point to path where we should install documentation.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
LIBTIFF_DOCDIR=\${prefix}/share/doc/${PACKAGE}-${LIBTIFF_VERSION}
|
||||
|
||||
AC_ARG_WITH(docdir,
|
||||
AS_HELP_STRING([--with-docdir=DIR],
|
||||
[directory where documentation should be installed]),,)
|
||||
if test "x$with_docdir" != "x" ; then
|
||||
LIBTIFF_DOCDIR=$with_docdir
|
||||
fi
|
||||
|
||||
AC_SUBST(LIBTIFF_DOCDIR)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Switch on/off internal codecs.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(ccitt,
|
||||
AS_HELP_STRING([--disable-ccitt],
|
||||
[disable support for CCITT Group 3 & 4 algorithms]),
|
||||
[HAVE_CCITT=$enableval], [HAVE_CCITT=yes])
|
||||
|
||||
if test "$HAVE_CCITT" = "yes" ; then
|
||||
AC_DEFINE(CCITT_SUPPORT,1,[Support CCITT Group 3 & 4 algorithms])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(packbits,
|
||||
AS_HELP_STRING([--disable-packbits],
|
||||
[disable support for Macintosh PackBits algorithm]),
|
||||
[HAVE_PACKBITS=$enableval], [HAVE_PACKBITS=yes])
|
||||
|
||||
if test "$HAVE_PACKBITS" = "yes" ; then
|
||||
AC_DEFINE(PACKBITS_SUPPORT,1,[Support Macintosh PackBits algorithm])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(lzw,
|
||||
AS_HELP_STRING([--disable-lzw],
|
||||
[disable support for LZW algorithm]),
|
||||
[HAVE_LZW=$enableval], [HAVE_LZW=yes])
|
||||
|
||||
if test "$HAVE_LZW" = "yes" ; then
|
||||
AC_DEFINE(LZW_SUPPORT,1,[Support LZW algorithm])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(thunder,
|
||||
AS_HELP_STRING([--disable-thunder],
|
||||
[disable support for ThunderScan 4-bit RLE algorithm]),
|
||||
[HAVE_THUNDER=$enableval], [HAVE_THUNDER=yes])
|
||||
|
||||
if test "$HAVE_THUNDER" = "yes" ; then
|
||||
AC_DEFINE(THUNDER_SUPPORT,1,[Support ThunderScan 4-bit RLE algorithm])
|
||||
fi
|
||||
|
||||
HAVE_NEXT=yes
|
||||
|
||||
AC_ARG_ENABLE(next,
|
||||
AS_HELP_STRING([--disable-next],
|
||||
[disable support for NeXT 2-bit RLE algorithm]),
|
||||
[HAVE_NEXT=$enableval], [HAVE_NEXT=yes])
|
||||
|
||||
if test "$HAVE_NEXT" = "yes" ; then
|
||||
AC_DEFINE(NEXT_SUPPORT,1,[Support NeXT 2-bit RLE algorithm])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(logluv,
|
||||
AS_HELP_STRING([--disable-logluv],
|
||||
[disable support for LogLuv high dynamic range encoding]),
|
||||
[HAVE_LOGLUV=$enableval], [HAVE_LOGLUV=yes])
|
||||
|
||||
if test "$HAVE_LOGLUV" = "yes" ; then
|
||||
AC_DEFINE(LOGLUV_SUPPORT,1,[Support LogLuv high dynamic range encoding])
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Switch on/off support for Microsoft Document Imaging
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(mdi,
|
||||
AS_HELP_STRING([--disable-mdi],
|
||||
[disable support for Microsoft Document Imaging]),
|
||||
[HAVE_MDI=$enableval], [HAVE_MDI=yes])
|
||||
|
||||
if test "$HAVE_MDI" = "yes" ; then
|
||||
AC_DEFINE(MDI_SUPPORT,1,[Support Microsoft Document Imaging format])
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for ZLIB.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
HAVE_ZLIB=no
|
||||
|
||||
AC_ARG_ENABLE(zlib,
|
||||
AS_HELP_STRING([--disable-zlib],
|
||||
[disable Zlib usage (required for Deflate compression, enabled by default)]),,)
|
||||
AC_ARG_WITH(zlib-include-dir,
|
||||
AS_HELP_STRING([--with-zlib-include-dir=DIR],
|
||||
[location of Zlib headers]),,)
|
||||
AC_ARG_WITH(zlib-lib-dir,
|
||||
AS_HELP_STRING([--with-zlib-lib-dir=DIR],
|
||||
[location of Zlib library binary]),,)
|
||||
|
||||
if test "x$enable_zlib" != "xno" ; then
|
||||
|
||||
if test "x$with_zlib_lib_dir" != "x" ; then
|
||||
LDFLAGS="-L$with_zlib_lib_dir $LDFLAGS"
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(z, inflateEnd, [zlib_lib=yes], [zlib_lib=no],)
|
||||
if test "$zlib_lib" = "no" -a "x$with_zlib_lib_dir" != "x"; then
|
||||
AC_MSG_ERROR([Zlib library not found at $with_zlib_lib_dir])
|
||||
fi
|
||||
|
||||
if test "x$with_zlib_include_dir" != "x" ; then
|
||||
CPPFLAGS="-I$with_zlib_include_dir $CPPFLAGS"
|
||||
fi
|
||||
AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no])
|
||||
if test "$zlib_h" = "no" -a "x$with_zlib_include_dir" != "x" ; then
|
||||
AC_MSG_ERROR([Zlib headers not found at $with_zlib_include_dir])
|
||||
fi
|
||||
|
||||
if test "$zlib_lib" = "yes" -a "$zlib_h" = "yes" ; then
|
||||
HAVE_ZLIB=yes
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if test "$HAVE_ZLIB" = "yes" ; then
|
||||
AC_DEFINE(ZIP_SUPPORT,1,[Support Deflate compression])
|
||||
LIBS="-lz $LIBS"
|
||||
|
||||
if test "$HAVE_RPATH" = "yes" -a "x$with_zlib_lib_dir" != "x" ; then
|
||||
LIBDIR="-R $with_zlib_lib_dir $LIBDIR"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for Pixar log-format algorithm.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(pixarlog,
|
||||
AS_HELP_STRING([--disable-pixarlog],
|
||||
[disable support for Pixar log-format algorithm (requires Zlib)]),
|
||||
[HAVE_PIXARLOG=$enableval], [HAVE_PIXARLOG=yes])
|
||||
|
||||
if test "$HAVE_ZLIB" = "yes" -a "$HAVE_PIXARLOG" = "yes" ; then
|
||||
AC_DEFINE(PIXARLOG_SUPPORT, 1,
|
||||
[Support Pixar log-format algorithm (requires Zlib)])
|
||||
else
|
||||
HAVE_PIXARLOG=no
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for JPEG.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
HAVE_JPEG=no
|
||||
|
||||
AC_ARG_ENABLE(jpeg,
|
||||
AS_HELP_STRING([--disable-jpeg],
|
||||
[disable IJG JPEG library usage (required for JPEG compression, enabled by default)]),,)
|
||||
AC_ARG_WITH(jpeg-include-dir,
|
||||
AS_HELP_STRING([--with-jpeg-include-dir=DIR],
|
||||
[location of IJG JPEG library headers]),,)
|
||||
AC_ARG_WITH(jpeg-lib-dir,
|
||||
AS_HELP_STRING([--with-jpeg-lib-dir=DIR],
|
||||
[location of IJG JPEG library binary]),,)
|
||||
|
||||
if test "x$enable_jpeg" != "xno" ; then
|
||||
|
||||
if test "x$with_jpeg_lib_dir" != "x" ; then
|
||||
LDFLAGS="-L$with_jpeg_lib_dir $LDFLAGS"
|
||||
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(jpeg, jpeg_read_scanlines, [jpeg_lib=yes], [jpeg_lib=no],)
|
||||
if test "$jpeg_lib" = "no" -a "x$with_jpeg_lib_dir" != "x" ; then
|
||||
AC_MSG_ERROR([IJG JPEG library not found at $with_jpeg_lib_dir])
|
||||
fi
|
||||
|
||||
if test "x$with_jpeg_include_dir" != "x" ; then
|
||||
CPPFLAGS="-I$with_jpeg_include_dir $CPPFLAGS"
|
||||
fi
|
||||
AC_CHECK_HEADER(jpeglib.h, [jpeg_h=yes], [jpeg_h=no])
|
||||
if test "$jpeg_h" = "no" -a "x$with_jpeg_include_dir" != "x" ; then
|
||||
AC_MSG_ERROR([IJG JPEG library headers not found at $with_jpeg_include_dir])
|
||||
fi
|
||||
|
||||
if test "$jpeg_lib" = "yes" -a "$jpeg_h" = "yes" ; then
|
||||
HAVE_JPEG=yes
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if test "$HAVE_JPEG" = "yes" ; then
|
||||
AC_DEFINE(JPEG_SUPPORT,1,[Support JPEG compression (requires IJG JPEG library)])
|
||||
LIBS="-ljpeg $LIBS"
|
||||
|
||||
if test "$HAVE_RPATH" = "yes" -a "x$with_jpeg_lib_dir" != "x" ; then
|
||||
LIBDIR="-R $with_jpeg_lib_dir $LIBDIR"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for Old JPEG.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(old-jpeg,
|
||||
AS_HELP_STRING([--enable-old-jpeg],
|
||||
[enable support for Old JPEG compresson (read contrib/ojpeg/README first! Compilation fails with unpatched IJG JPEG library)]),
|
||||
[HAVE_OJPEG=$enableval], [HAVE_OJPEG=no])
|
||||
|
||||
if test "$HAVE_JPEG" = "yes" -a "$HAVE_OJPEG" = "yes" ; then
|
||||
AC_DEFINE(OJPEG_SUPPORT, 1,
|
||||
[Support Old JPEG compresson (read contrib/ojpeg/README first! Compilation fails with unpatched IJG JPEG library)])
|
||||
else
|
||||
HAVE_OJPEG=no
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for C++.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(cxx,
|
||||
AS_HELP_STRING([--enable-cxx],
|
||||
[enable C++ stream API building (requires C++ compiler)]),
|
||||
[HAVE_CXX=$enableval], [HAVE_CXX=yes])
|
||||
|
||||
if test "$HAVE_CXX" = "yes" ; then
|
||||
AC_DEFINE(CXX_SUPPORT, 1, [Support C++ stream API (requires C++ compiler)])
|
||||
else
|
||||
HAVE_CXX=no
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_CXX, test "$HAVE_CXX" = "yes")
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for OpenGL and GLUT.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
HAVE_OPENGL=no
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
AX_CHECK_GL
|
||||
AX_CHECK_GLU
|
||||
AX_CHECK_GLUT
|
||||
|
||||
if test "$no_x" != "yes" -a "$no_gl" != "yes" \
|
||||
-a "$no_glu" != "yes" -a "$no_glut" != "yes" ; then
|
||||
HAVE_OPENGL=yes
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_OPENGL, test "$HAVE_OPENGL" = "yes")
|
||||
|
||||
dnl ===========================================================================
|
||||
dnl ``Orthogonal Features''
|
||||
dnl ===========================================================================
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Default handling of strip chopping support.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(strip-chopping,
|
||||
AS_HELP_STRING([--disable-strip-chopping],
|
||||
[disable support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)]),
|
||||
[HAVE_STRIPCHOP=$enableval], [HAVE_STRIPCHOP=yes])
|
||||
AC_ARG_WITH(default-strip-size,
|
||||
AS_HELP_STRING([--with-default-strip-size=SIZE],
|
||||
[default size of the strip in bytes (when strip chopping enabled) [[default=8192]]]),,)
|
||||
|
||||
if test "$HAVE_STRIPCHOP" = "yes" \
|
||||
-a "x$with_default_strip_size" != "xno"; then
|
||||
AC_DEFINE(STRIPCHOP_DEFAULT,TIFF_STRIPCHOP,[Support strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)])
|
||||
|
||||
if test "x$with_default_strip_size" = "x" \
|
||||
-o "x$with_default_strip_size" = "xyes"; then
|
||||
with_default_strip_size="8192"
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(STRIP_SIZE_DEFAULT,$with_default_strip_size,[Default size of the strip in bytes (when strip chopping enabled)])
|
||||
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Default subifd support.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_DEFINE(SUBIFD_SUPPORT,1,[Enable SubIFD tag (330) support])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Default handling of ASSOCALPHA support.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(extrasample-as-alpha,
|
||||
AS_HELP_STRING([--disable-extrasample-as-alpha],
|
||||
[the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly]),
|
||||
[HAVE_EXTRASAMPLE_AS_ALPHA=$enableval],
|
||||
[HAVE_EXTRASAMPLE_AS_ALPHA=yes])
|
||||
|
||||
if test "$HAVE_EXTRASAMPLE_AS_ALPHA" = "yes" ; then
|
||||
AC_DEFINE(DEFAULT_EXTRASAMPLE_AS_ALPHA, 1,
|
||||
[Treat extra sample as alpha (default enabled). The RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly.])
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Default handling of YCbCr subsampling support.
|
||||
dnl See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details.
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_ARG_ENABLE(check-ycbcr-subsampling,
|
||||
AS_HELP_STRING([--disable-check-ycbcr-subsampling],
|
||||
[disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag]),
|
||||
[CHECK_JPEG_YCBCR_SUBSAMPLING=$enableval],
|
||||
[CHECK_JPEG_YCBCR_SUBSAMPLING=yes])
|
||||
|
||||
if test "$CHECK_JPEG_YCBCR_SUBSAMPLING" = "yes" ; then
|
||||
AC_DEFINE(CHECK_JPEG_YCBCR_SUBSAMPLING, 1,
|
||||
[Pick up YCbCr subsampling info from the JPEG data stream to support files lacking the tag (default enabled).])
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
AC_SUBST(LIBDIR)
|
||||
|
||||
AC_CONFIG_HEADERS([libtiff/tif_config.h libtiff/tiffconf.h])
|
||||
|
||||
AC_CONFIG_FILES([Makefile \
|
||||
contrib/Makefile \
|
||||
contrib/acorn/Makefile \
|
||||
contrib/addtiffo/Makefile \
|
||||
contrib/dbs/Makefile \
|
||||
contrib/dbs/xtiff/Makefile \
|
||||
contrib/iptcutil/Makefile \
|
||||
contrib/mac-cw/Makefile \
|
||||
contrib/mac-mpw/Makefile \
|
||||
contrib/mfs/Makefile \
|
||||
contrib/ojpeg/Makefile \
|
||||
contrib/pds/Makefile \
|
||||
contrib/ras/Makefile \
|
||||
contrib/stream/Makefile \
|
||||
contrib/tags/Makefile \
|
||||
contrib/win_dib/Makefile \
|
||||
html/Makefile \
|
||||
html/images/Makefile \
|
||||
html/man/Makefile \
|
||||
libtiff/Makefile \
|
||||
man/Makefile \
|
||||
port/Makefile \
|
||||
test/Makefile \
|
||||
tools/Makefile])
|
||||
AC_OUTPUT
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Display configuration status
|
||||
dnl ---------------------------------------------------------------------------
|
||||
|
||||
LOC_MSG()
|
||||
LOC_MSG([Libtiff is now configured for ${host}])
|
||||
LOC_MSG()
|
||||
LOC_MSG([ Installation directory: ${prefix}])
|
||||
LOC_MSG([ Documentation directory: ${LIBTIFF_DOCDIR}])
|
||||
LOC_MSG([ C compiler: ${CC} ${CFLAGS}])
|
||||
LOC_MSG([ C++ compiler: ${CXX} ${CXXFLAGS}])
|
||||
LOC_MSG([ Enable runtime linker paths: ${HAVE_RPATH}])
|
||||
LOC_MSG([ Support Microsoft Document Imaging: ${HAVE_MDI}])
|
||||
LOC_MSG()
|
||||
LOC_MSG([ Support for internal codecs:])
|
||||
LOC_MSG([ CCITT Group 3 & 4 algorithms: ${HAVE_CCITT}])
|
||||
LOC_MSG([ Macintosh PackBits algorithm: ${HAVE_PACKBITS}])
|
||||
LOC_MSG([ LZW algorithm: ${HAVE_LZW}])
|
||||
LOC_MSG([ ThunderScan 4-bit RLE algorithm: ${HAVE_THUNDER}])
|
||||
LOC_MSG([ NeXT 2-bit RLE algorithm: ${HAVE_NEXT}])
|
||||
LOC_MSG([ LogLuv high dynamic range encoding: ${HAVE_LOGLUV}])
|
||||
LOC_MSG()
|
||||
LOC_MSG([ Support for external codecs:])
|
||||
LOC_MSG([ ZLIB support: ${HAVE_ZLIB}])
|
||||
LOC_MSG([ Pixar log-format algorithm: ${HAVE_PIXARLOG}])
|
||||
LOC_MSG([ JPEG support: ${HAVE_JPEG}])
|
||||
LOC_MSG([ Old JPEG support: ${HAVE_OJPEG}])
|
||||
LOC_MSG()
|
||||
LOC_MSG([ C++ support: ${HAVE_CXX}])
|
||||
LOC_MSG()
|
||||
LOC_MSG([ OpenGL support: ${HAVE_OPENGL}])
|
||||
LOC_MSG()
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
#! /bin/sh
|
||||
srcpath=$(dirname $0 2>/dev/null ) || srcpath="."
|
||||
$srcpath/configure "$@" --disable-shared --with-pic
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
EXTRA_DIST = README
|
||||
|
||||
SUBDIRS = acorn addtiffo dbs iptcutil mac-cw mac-mpw mfs ojpeg pds ras stream tags win_dib
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
This directory contains various contributions from libtiff users.
|
||||
|
|
@ -1,165 +0,0 @@
|
|||
# Project: LibTIFF
|
||||
|
||||
|
||||
# Toolflags:
|
||||
CCflags = -c -zo -ffah -depend !Depend -IC:
|
||||
C++flags = -c -depend !Depend -IC: -throwback
|
||||
Linkflags = -aif -c++ -o $@
|
||||
DrLinkflags = -nounused -aif -c++ -o $@
|
||||
ObjAsmflags = -throwback -NoCache -depend !Depend
|
||||
CMHGflags =
|
||||
LibFileflags = -c -o $@
|
||||
Squeezeflags = -o $@
|
||||
|
||||
|
||||
# Final targets:
|
||||
@.o.LIBTIFF: \
|
||||
@.o.tif_acorn \
|
||||
@.o.tif_aux \
|
||||
@.o.tif_close \
|
||||
@.o.tif_codec \
|
||||
@.o.tif_compress \
|
||||
@.o.tif_dir \
|
||||
@.o.tif_dirinfo \
|
||||
@.o.tif_dirread \
|
||||
@.o.tif_dirwrite \
|
||||
@.o.tif_dumpmode \
|
||||
@.o.tif_error \
|
||||
@.o.tif_fax3 \
|
||||
@.o.tif_flush \
|
||||
@.o.tif_getimage \
|
||||
@.o.tif_jpeg \
|
||||
@.o.tif_lzw \
|
||||
@.o.tif_next \
|
||||
@.o.tif_open \
|
||||
@.o.tif_packbits \
|
||||
@.o.tif_predict \
|
||||
@.o.tif_print \
|
||||
@.o.tif_read \
|
||||
@.o.tif_strip \
|
||||
@.o.tif_swab \
|
||||
@.o.tif_thunder \
|
||||
@.o.tif_tile \
|
||||
@.o.tif_version \
|
||||
@.o.tif_warning \
|
||||
@.o.tif_write \
|
||||
@.o.tif_zip \
|
||||
@.o.tif_fax3sm \
|
||||
@.h.version
|
||||
LibFile $(LibFileflags) \
|
||||
@.o.tif_acorn \
|
||||
@.o.tif_aux \
|
||||
@.o.tif_close \
|
||||
@.o.tif_codec \
|
||||
@.o.tif_compress \
|
||||
@.o.tif_dir \
|
||||
@.o.tif_dirinfo \
|
||||
@.o.tif_dirread \
|
||||
@.o.tif_dirwrite \
|
||||
@.o.tif_dumpmode \
|
||||
@.o.tif_error \
|
||||
@.o.tif_fax3 \
|
||||
@.o.tif_flush \
|
||||
@.o.tif_getimage \
|
||||
@.o.tif_jpeg \
|
||||
@.o.tif_lzw \
|
||||
@.o.tif_next \
|
||||
@.o.tif_open \
|
||||
@.o.tif_packbits \
|
||||
@.o.tif_predict \
|
||||
@.o.tif_print \
|
||||
@.o.tif_read \
|
||||
@.o.tif_strip \
|
||||
@.o.tif_swab \
|
||||
@.o.tif_thunder \
|
||||
@.o.tif_tile \
|
||||
@.o.tif_version \
|
||||
@.o.tif_warning \
|
||||
@.o.tif_write \
|
||||
@.o.tif_zip \
|
||||
@.o.tif_fax3sm
|
||||
|
||||
|
||||
# User-editable dependencies:
|
||||
@.mkversion: @.o.mkversion C:o.Stubs
|
||||
Link $(linkflags) @.o.mkversion C:o.Stubs
|
||||
@.h.version: @.VERSION @.mkversion
|
||||
<Prefix$Dir>.mkversion -v @.VERSION -a @.tiff/alpha @.h.version
|
||||
@.mkg3states: @.o.mkg3states @.o.getopt C:o.Stubs
|
||||
link $(linkflags) @.o.mkg3states C:o.Stubs @.o.getopt
|
||||
@.c.tif_fax3sm: @.mkg3states
|
||||
<Prefix$Dir>.mkg3states -c const @.c.tif_fax3sm
|
||||
|
||||
# Static dependencies:
|
||||
@.o.tif_acorn: @.c.tif_acorn
|
||||
cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn
|
||||
@.o.tif_aux: @.c.tif_aux
|
||||
cc $(ccflags) -o @.o.tif_aux @.c.tif_aux
|
||||
@.o.tif_close: @.c.tif_close
|
||||
cc $(ccflags) -o @.o.tif_close @.c.tif_close
|
||||
@.o.tif_codec: @.c.tif_codec
|
||||
cc $(ccflags) -o @.o.tif_codec @.c.tif_codec
|
||||
@.o.tif_compress: @.c.tif_compress
|
||||
cc $(ccflags) -o @.o.tif_compress @.c.tif_compress
|
||||
@.o.tif_dir: @.c.tif_dir
|
||||
cc $(ccflags) -o @.o.tif_dir @.c.tif_dir
|
||||
@.o.tif_dirinfo: @.c.tif_dirinfo
|
||||
cc $(ccflags) -o @.o.tif_dirinfo @.c.tif_dirinfo
|
||||
@.o.tif_dirread: @.c.tif_dirread
|
||||
cc $(ccflags) -o @.o.tif_dirread @.c.tif_dirread
|
||||
@.o.tif_dirwrite: @.c.tif_dirwrite
|
||||
cc $(ccflags) -o @.o.tif_dirwrite @.c.tif_dirwrite
|
||||
@.o.tif_dumpmode: @.c.tif_dumpmode
|
||||
cc $(ccflags) -o @.o.tif_dumpmode @.c.tif_dumpmode
|
||||
@.o.tif_error: @.c.tif_error
|
||||
cc $(ccflags) -o @.o.tif_error @.c.tif_error
|
||||
@.o.tif_fax3: @.c.tif_fax3
|
||||
cc $(ccflags) -o @.o.tif_fax3 @.c.tif_fax3
|
||||
@.o.tif_flush: @.c.tif_flush
|
||||
cc $(ccflags) -o @.o.tif_flush @.c.tif_flush
|
||||
@.o.tif_getimage: @.c.tif_getimage
|
||||
cc $(ccflags) -o @.o.tif_getimage @.c.tif_getimage
|
||||
@.o.tif_jpeg: @.c.tif_jpeg
|
||||
cc $(ccflags) -o @.o.tif_jpeg @.c.tif_jpeg
|
||||
@.o.tif_lzw: @.c.tif_lzw
|
||||
cc $(ccflags) -o @.o.tif_lzw @.c.tif_lzw
|
||||
@.o.tif_next: @.c.tif_next
|
||||
cc $(ccflags) -o @.o.tif_next @.c.tif_next
|
||||
@.o.tif_open: @.c.tif_open
|
||||
cc $(ccflags) -o @.o.tif_open @.c.tif_open
|
||||
@.o.tif_packbits: @.c.tif_packbits
|
||||
cc $(ccflags) -o @.o.tif_packbits @.c.tif_packbits
|
||||
@.o.tif_predict: @.c.tif_predict
|
||||
cc $(ccflags) -o @.o.tif_predict @.c.tif_predict
|
||||
@.o.tif_print: @.c.tif_print
|
||||
cc $(ccflags) -o @.o.tif_print @.c.tif_print
|
||||
@.o.tif_read: @.c.tif_read
|
||||
cc $(ccflags) -o @.o.tif_read @.c.tif_read
|
||||
@.o.tif_strip: @.c.tif_strip
|
||||
cc $(ccflags) -o @.o.tif_strip @.c.tif_strip
|
||||
@.o.tif_swab: @.c.tif_swab
|
||||
cc $(ccflags) -o @.o.tif_swab @.c.tif_swab
|
||||
@.o.tif_thunder: @.c.tif_thunder
|
||||
cc $(ccflags) -o @.o.tif_thunder @.c.tif_thunder
|
||||
@.o.tif_tile: @.c.tif_tile
|
||||
cc $(ccflags) -o @.o.tif_tile @.c.tif_tile
|
||||
@.o.tif_version: @.c.tif_version
|
||||
cc $(ccflags) -o @.o.tif_version @.c.tif_version
|
||||
@.o.tif_warning: @.c.tif_warning
|
||||
cc $(ccflags) -o @.o.tif_warning @.c.tif_warning
|
||||
@.o.tif_write: @.c.tif_write
|
||||
cc $(ccflags) -o @.o.tif_write @.c.tif_write
|
||||
@.o.tif_zip: @.c.tif_zip
|
||||
cc $(ccflags) -o @.o.tif_zip @.c.tif_zip
|
||||
@.o.mkg3states: @.c.mkg3states
|
||||
cc $(ccflags) -o @.o.mkg3states @.c.mkg3states
|
||||
@.o.getopt: @.c.getopt
|
||||
cc $(ccflags) -o @.o.getopt @.c.getopt
|
||||
@.o.mkspans: @.c.mkspans
|
||||
cc $(ccflags) -o @.o.mkspans @.c.mkspans
|
||||
@.o.tif_fax3sm: @.c.tif_fax3sm
|
||||
cc $(ccflags) -o @.o.tif_fax3sm @.c.tif_fax3sm
|
||||
@.o.mkversion: @.c.mkversion
|
||||
cc $(ccflags) -o @.o.mkversion @.c.mkversion
|
||||
|
||||
# Dynamic dependencies:
|
|
@ -1,27 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
EXTRA_DIST = Makefile.acorn ReadMe SetVars cleanlib convert install
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
Building the Software on an Acorn RISC OS system
|
||||
|
||||
The directory contrib/acorn contains support for compiling the library under
|
||||
Acorn C/C++ under Acorn's RISC OS 3.10 or above. Subsequent pathnames will
|
||||
use the Acorn format: The full-stop or period character is a pathname
|
||||
delimeter, and the slash character is not interpreted; the reverse position
|
||||
from Unix. Thus "libtiff/tif_acorn.c" becomes "libtiff.tif_acorn/c".
|
||||
|
||||
This support was contributed by Peter Greenham.
|
||||
(peterg@angmulti.demon.co.uk).
|
||||
|
||||
Installing LibTIFF:
|
||||
|
||||
LIBTIFF uses several files which have names longer than the normal RISC OS
|
||||
maximum of ten characters. This complicates matters. Maybe one day Acorn will
|
||||
address the problem and implement long filenames properly. Until then this
|
||||
gets messy, especially as I'm trying to do this with obeyfiles and not have
|
||||
to include binaries in this distribution.
|
||||
|
||||
First of all, ensure you have Truncate configured on (type *Configure
|
||||
Truncate On) Although it is, of course, preferable to have long filenames,
|
||||
LIBTIFF can be installed with short filenames, and it will compile and link
|
||||
without problems. However, getting it there is more problematic.
|
||||
contrib.acorn.install is an installation obeyfile which will create a normal
|
||||
Acorn-style library from the source (ie: with c, h and o folders etc.), but
|
||||
needs the distribution library to have been unpacked into a location which is
|
||||
capable of supporting long filenames, even if only temporarily.
|
||||
|
||||
My recommendation, until Acorn address this problem properly, is to use Jason
|
||||
Tribbeck's LongFilenames , or any other working system that gives you long
|
||||
filenames, like a nearby NFS server for instance.
|
||||
|
||||
If you are using Longfilenames, even if only temporarily to install LIBTIFF,
|
||||
unpack the TAR into a RAMDisc which has been longfilenamed (ie: *addlongfs
|
||||
ram) and then install from there to the hard disk. Unfortunately
|
||||
Longfilenames seems a bit unhappy about copying a bunch of long-named files
|
||||
across the same filing system, but is happy going between systems. You'll
|
||||
need to create a ramdisk of about 2Mb.
|
||||
|
||||
Now you can run the installation script I've supplied (in contrib.acorn),
|
||||
which will automate the process of installing LIBTIFF as an Acorn-style
|
||||
library. The syntax is as follows:
|
||||
|
||||
install <source_dir> <dest_dir>
|
||||
|
||||
Install will then create <dest_dir> and put the library in there. For
|
||||
example, having used LongFilenames on the RAMDisk and unpacked the library
|
||||
into there, you can then type:
|
||||
|
||||
Obey RAM::RamDisc0.$.contrib.acorn.install RAM::RamDisc0.$ ADFS::4.$.LIBTIFF
|
||||
|
||||
It doesn't matter if the destination location can cope with long filenames or
|
||||
not. The filenames will be truncated if necessary (*Configure Truncate On if
|
||||
you get errors) and all will be well.
|
||||
|
||||
Compiling LibTIFF:
|
||||
|
||||
Once the LibTIFF folder has been created and the files put inside, making the
|
||||
library should be just a matter of running 'SetVars' to set the appropriate
|
||||
system variables, then running 'Makefile'.
|
||||
|
||||
OSLib
|
||||
|
||||
OSLib is a comprehensive API for RISC OS machines, written by Jonathan
|
||||
Coxhead of Acorn Computers (although OSLib is not an official Acorn product).
|
||||
Using the OSLib SWI veneers produces code which is more compact and more
|
||||
efficient than code written using _kernel_swi or _swi. The Acorn port of
|
||||
LibTIFF can take advantage of this if present. Edit the Makefile and go to
|
||||
the Static dependencies section. The first entry is:
|
||||
|
||||
# Static dependencies:
|
||||
@.o.tif_acorn: @.c.tif_acorn
|
||||
cc $(ccflags) -o @.o.tif_acorn @.c.tif_acorn
|
||||
Change the cc line to:
|
||||
|
||||
cc $(ccflags) -DINCLUDE_OSLIB -o @.o.tif_acorn @.c.tif_acorn
|
||||
|
||||
Remember, however, that OSLib is only recommended for efficiency's sake. It
|
||||
is not required.
|
|
@ -1,3 +0,0 @@
|
|||
Set LibTIFF$Dir <Obey$Dir>
|
||||
Set LibTIFF$Path <LibTIFF$Dir>.
|
||||
Set C$Path <C$Path>,LibTIFF:
|
|
@ -1,5 +0,0 @@
|
|||
IfThere LibTIFF:o.* THEN Wipe LibTIFF:o.* ~CFR~V
|
||||
IfThere LibTIFF:c.tif_fax3sm THEN Delete LibTIFF:c.tif_fax3sm
|
||||
IfThere LibTIFF:mkg3states THEN Delete LibTIFF:mkg3states
|
||||
IfThere LibTIFF:h.version THEN Delete LibTIFF:h.version
|
||||
IfThere LibTIFF:mkversion THEN Delete LibTIFF:mkversion
|
|
@ -1,175 +0,0 @@
|
|||
RISC OS Conversion log
|
||||
======================
|
||||
|
||||
mkversion.c
|
||||
~~~~~~~~~~~
|
||||
The RISC OS command-line does not allow the direct creation of the version.h
|
||||
file in the proper manner. To remedy this in such a way that the version
|
||||
header is made at compiletime, I wrote this small program. It is fully
|
||||
portable, so should work quite happily for any other platform that might need
|
||||
it.
|
||||
|
||||
msg3states.c
|
||||
~~~~~~~~~~~~
|
||||
Needed getopt.c from the port folder, then compiled and worked fine.
|
||||
|
||||
|
||||
tiff.h
|
||||
~~~~~~
|
||||
|
||||
====1====
|
||||
|
||||
The symbol _MIPS_SZLONG, if not defined, causes a compiler error. Fixed by
|
||||
ensuring it does exist. This looks to me like this wouldn't be an
|
||||
Acorn-specific problem. The new code fragment is as follows:
|
||||
|
||||
#ifndef _MIPS_SZLONG
|
||||
#define _MIPS_SZLONG 32
|
||||
#endif
|
||||
#if defined(__alpha) || _MIPS_SZLONG == 64
|
||||
|
||||
|
||||
|
||||
tiffcomp.h
|
||||
~~~~~~~~~~
|
||||
|
||||
====1====
|
||||
|
||||
#if !defined(__MWERKS__) && !defined(THINK_C)
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
Acorn also doesn't have this header so:
|
||||
|
||||
#if !defined(__MWERKS__) && !defined(THINK_C) && !defined(__acorn)
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
====2====
|
||||
|
||||
#ifdef VMS
|
||||
#include <file.h>
|
||||
#include <unixio.h>
|
||||
#else
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
This seems to indicate that fcntl.h is included on all systems except
|
||||
VMS. Odd, because I've never heard of it before. Sure it's in the ANSI
|
||||
definition? Anyway, following change:
|
||||
|
||||
#ifdef VMS
|
||||
#include <file.h>
|
||||
#include <unixio.h>
|
||||
#else
|
||||
#ifndef __acorn
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
This will probably change when I find out what it wants from fcntl.h!
|
||||
|
||||
====3====
|
||||
|
||||
#if defined(__MWERKS__) || defined(THINK_C) || defined(applec)
|
||||
#include <stdlib.h>
|
||||
#define BSDTYPES
|
||||
#endif
|
||||
|
||||
Added RISC OS to above thus:
|
||||
|
||||
#if defined(__MWERKS__) || defined(THINK_C) || defined(applec) || defined(__acorn)
|
||||
#include <stdlib.h>
|
||||
#define BSDTYPES
|
||||
#endif
|
||||
|
||||
====4====
|
||||
|
||||
/*
|
||||
* The library uses the ANSI C/POSIX SEEK_*
|
||||
* definitions that should be defined in unistd.h
|
||||
* (except on VMS where they are in stdio.h and
|
||||
* there is no unistd.h).
|
||||
*/
|
||||
#ifndef SEEK_SET
|
||||
#if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
RISC OS is like VMS and Mac in this regard. So changed to:
|
||||
|
||||
/*
|
||||
* The library uses the ANSI C/POSIX SEEK_*
|
||||
* definitions that should be defined in unistd.h
|
||||
* (except on VMS or the Mac or RISC OS, where they are in stdio.h and
|
||||
* there is no unistd.h).
|
||||
*/
|
||||
#ifndef SEEK_SET
|
||||
#if !defined(VMS) && !defined (applec) && !defined(THINK_C) && !defined(__MWERKS__) && !defined(__acorn)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
====5====
|
||||
|
||||
NB: HAVE_IEEEFP is defined in tiffconf.h, not tiffcomp.h as mentioned
|
||||
in libtiff.README. (Note written on original port from 3.4beta004)
|
||||
|
||||
Acorn C/C++ claims to accord with IEEE 754, so no change (yet) to
|
||||
tiffconf.h.
|
||||
|
||||
====6====
|
||||
|
||||
Unsure about whether this compiler supports inline functions. Will
|
||||
leave it on for the time being and see if it works! (Likely if
|
||||
everything else does.)
|
||||
|
||||
... Seems to be OK ...
|
||||
|
||||
====7====
|
||||
|
||||
Added to the end:
|
||||
|
||||
/*
|
||||
* osfcn.h is part of C++Lib on Acorn C/C++, and as such can't be used
|
||||
* on C alone. For that reason, the relevant functions have been
|
||||
* implemented by myself in tif_acorn.c, and the elements from the header
|
||||
* included here.
|
||||
*/
|
||||
|
||||
#ifdef __acorn
|
||||
#ifdef __cplusplus
|
||||
#include <osfcn.h>
|
||||
#else
|
||||
#include "kernel.h"
|
||||
#define O_RDONLY 0
|
||||
#define O_WRONLY 1
|
||||
#define O_RDWR 2
|
||||
#define O_APPEND 8
|
||||
#define O_CREAT 0x200
|
||||
#define O_TRUNC 0x400
|
||||
typedef long off_t;
|
||||
extern int open(const char *name, int flags, int mode);
|
||||
extern int close(int fd);
|
||||
extern int write(int fd, const char *buf, int nbytes);
|
||||
extern int read(int fd, char *buf, int nbytes);
|
||||
extern off_t lseek(int fd, off_t offset, int whence);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
===============================================================================
|
||||
|
||||
tif_acorn.c
|
||||
~~~~~~~~~~~
|
||||
|
||||
Created file tif_acorn.c, copied initially from tif_unix.c
|
||||
|
||||
Documented internally where necessary.
|
||||
|
||||
Note that I have implemented the low-level file-handling functions normally
|
||||
found in osfcn.h in here, and put the header info at the bottom of
|
||||
tiffcomp.h. This is further documented from a RISC OS perspective inside the
|
||||
file.
|
||||
|
||||
===============================================================================
|
|
@ -1,128 +0,0 @@
|
|||
If "%0" = "" Then Error Syntax: install |<source_dir> |<dest_dir>
|
||||
If "%1" = "" Then Error Syntax: install |<source_dir> |<dest_dir>
|
||||
Set LibTiffInstall$Dir %0
|
||||
Set LibTiff$Dir %1
|
||||
Set Alias$CPY Copy <LibTiffInstall$Dir>.%%0 <LibTiff$Dir>.%%1 ~C~DF~NRV
|
||||
CDir <LibTiff$Dir>
|
||||
CDir <LibTiff$Dir>.c
|
||||
CDir <LibTiff$Dir>.h
|
||||
CDir <LibTiff$Dir>.o
|
||||
CPY COPYRIGHT COPYRIGHT
|
||||
CPY README README
|
||||
CPY VERSION VERSION
|
||||
CPY dist.tiff/alpha tiff/alpha
|
||||
CPY contrib.acorn.SetVars SetVars
|
||||
CPY contrib.acorn.Makefile Makefile
|
||||
CPY contrib.acorn.cleanlib cleanlib
|
||||
CPY port.getopt/c c.getopt
|
||||
CPY libtiff.mkg3states/c c.mkg3states
|
||||
CPY libtiff.mkspans/c c.mkspans
|
||||
CPY libtiff.mkversion/c c.mkversion
|
||||
CPY libtiff.tif_acorn/c c.tif_acorn
|
||||
CPY libtiff.tif_aux/c c.tif_aux
|
||||
CPY libtiff.tif_close/c c.tif_close
|
||||
CPY libtiff.tif_codec/c c.tif_codec
|
||||
CPY libtiff.tif_compress/c c.tif_compre
|
||||
CPY libtiff.tif_dir/c c.tif_dir
|
||||
CPY libtiff.tif_dirinfo/c c.tif_dirinf
|
||||
CPY libtiff.tif_dirread/c c.tif_dirrea
|
||||
CPY libtiff.tif_dirwrite/c c.tif_dirwri
|
||||
CPY libtiff.tif_dumpmode/c c.tif_dumpmo
|
||||
CPY libtiff.tif_error/c c.tif_error
|
||||
CPY libtiff.tif_fax3/c c.tif_fax3
|
||||
CPY libtiff.tif_flush/c c.tif_flush
|
||||
CPY libtiff.tif_getimage/c c.tif_getima
|
||||
CPY libtiff.tif_jpeg/c c.tif_jpeg
|
||||
CPY libtiff.tif_lzw/c c.tif_lzw
|
||||
CPY libtiff.tif_next/c c.tif_next
|
||||
CPY libtiff.tif_open/c c.tif_open
|
||||
CPY libtiff.tif_packbits/c c.tif_packbi
|
||||
CPY libtiff.tif_predict/c c.tif_predic
|
||||
CPY libtiff.tif_print/c c.tif_print
|
||||
CPY libtiff.tif_read/c c.tif_read
|
||||
CPY libtiff.tif_strip/c c.tif_strip
|
||||
CPY libtiff.tif_swab/c c.tif_swab
|
||||
CPY libtiff.tif_thunder/c c.tif_thunde
|
||||
CPY libtiff.tif_tile/c c.tif_tile
|
||||
CPY libtiff.tif_version/c c.tif_versio
|
||||
CPY libtiff.tif_warning/c c.tif_warnin
|
||||
CPY libtiff.tif_write/c c.tif_write
|
||||
CPY libtiff.tif_zip/c c.tif_zip
|
||||
CPY libtiff.t4/h h.t4
|
||||
CPY libtiff.tiff/h h.tiff
|
||||
CPY libtiff.tiffcomp/h h.tiffcomp
|
||||
CPY libtiff.tiffconf/h h.tiffconf
|
||||
CPY libtiff.tiffio/h h.tiffio
|
||||
CPY libtiff.tiffiop/h h.tiffiop
|
||||
CPY libtiff.tif_dir/h h.tif_dir
|
||||
CPY libtiff.tif_fax3/h h.tif_fax3
|
||||
CPY libtiff.tif_predict/h h.tif_predic
|
||||
SetType <LibTiff$Dir>.COPYRIGHT Text
|
||||
SetType <LibTiff$Dir>.README Text
|
||||
SetType <LibTiff$Dir>.VERSION Text
|
||||
SetType <LibTiff$Dir>.tiff/alpha Text
|
||||
SetType <LibTiff$Dir>.SetVars Obey
|
||||
SetType <LibTiff$Dir>.Makefile fe1
|
||||
SetType <LibTiff$Dir>.cleanlib Obey
|
||||
SetType <LibTiff$Dir>.c.getopt Text
|
||||
SetType <LibTiff$Dir>.c.mkg3states Text
|
||||
SetType <LibTiff$Dir>.c.mkspans Text
|
||||
SetType <LibTiff$Dir>.c.mkversion Text
|
||||
SetType <LibTiff$Dir>.c.tif_acorn Text
|
||||
SetType <LibTiff$Dir>.c.tif_aux Text
|
||||
SetType <LibTiff$Dir>.c.tif_close Text
|
||||
SetType <LibTiff$Dir>.c.tif_codec Text
|
||||
SetType <LibTiff$Dir>.c.tif_compre Text
|
||||
SetType <LibTiff$Dir>.c.tif_dir Text
|
||||
SetType <LibTiff$Dir>.c.tif_dirinf Text
|
||||
SetType <LibTiff$Dir>.c.tif_dirrea Text
|
||||
SetType <LibTiff$Dir>.c.tif_dirwri Text
|
||||
SetType <LibTiff$Dir>.c.tif_dumpmo Text
|
||||
SetType <LibTiff$Dir>.c.tif_error Text
|
||||
SetType <LibTiff$Dir>.c.tif_fax3 Text
|
||||
SetType <LibTiff$Dir>.c.tif_flush Text
|
||||
SetType <LibTiff$Dir>.c.tif_getima Text
|
||||
SetType <LibTiff$Dir>.c.tif_jpeg Text
|
||||
SetType <LibTiff$Dir>.c.tif_lzw Text
|
||||
SetType <LibTiff$Dir>.c.tif_next Text
|
||||
SetType <LibTiff$Dir>.c.tif_open Text
|
||||
SetType <LibTiff$Dir>.c.tif_packbi Text
|
||||
SetType <LibTiff$Dir>.c.tif_predic Text
|
||||
SetType <LibTiff$Dir>.c.tif_print Text
|
||||
SetType <LibTiff$Dir>.c.tif_read Text
|
||||
SetType <LibTiff$Dir>.c.tif_strip Text
|
||||
SetType <LibTiff$Dir>.c.tif_swab Text
|
||||
SetType <LibTiff$Dir>.c.tif_thunde Text
|
||||
SetType <LibTiff$Dir>.c.tif_tile Text
|
||||
SetType <LibTiff$Dir>.c.tif_versio Text
|
||||
SetType <LibTiff$Dir>.c.tif_warnin Text
|
||||
SetType <LibTiff$Dir>.c.tif_write Text
|
||||
SetType <LibTiff$Dir>.c.tif_zip Text
|
||||
SetType <LibTiff$Dir>.h.t4 Text
|
||||
SetType <LibTiff$Dir>.h.tiff Text
|
||||
SetType <LibTiff$Dir>.h.tiffcomp Text
|
||||
SetType <LibTiff$Dir>.h.tiffconf Text
|
||||
SetType <LibTiff$Dir>.h.tiffio Text
|
||||
SetType <LibTiff$Dir>.h.tiffiop Text
|
||||
SetType <LibTiff$Dir>.h.tif_dir Text
|
||||
SetType <LibTiff$Dir>.h.tif_fax3 Text
|
||||
SetType <LibTiff$Dir>.h.tif_predic Text
|
||||
Unset Alias$CPY
|
||||
Unset LibTiffInstall$Dir
|
||||
| Now attempt to restore longfilename status. If it causes an error, OK.
|
||||
Set Alias$RN Rename <LibTiff$Dir>.%%0 <LibTiff$Dir>.%%1
|
||||
Unset LibTiff$Dir
|
||||
RN c.tif_compre c.tif_compress
|
||||
RN c.tif_dirinf c.tif_dirinfo
|
||||
RN c.tif_dirrea c.tif_dirread
|
||||
RN c.tif_dirwri c.tif_dirwrite
|
||||
RN c.tif_dumpmo c.tif_dumpmode
|
||||
RN c.tif_getima c.tif_getimage
|
||||
RN c.tif_packbi c.tif_packbits
|
||||
RN c.tif_predic c.tif_predict
|
||||
RN c.tif_thunde c.tif_thunder
|
||||
RN c.tif_versio c.tif_version
|
||||
RN c.tif_warnin c.tif_warning
|
||||
RN h.tif_predic h.tif_predict
|
||||
Unset Alias$RN
|
||||
Echo All done!
|
|
@ -1,36 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
LIBTIFF = $(top_builddir)/libtiff/libtiff.la
|
||||
|
||||
EXTRA_DIST = README Makefile.vc
|
||||
|
||||
noinst_PROGRAMS = addtiffo
|
||||
|
||||
addtiffo_SOURCES = addtiffo.c tif_overview.c tif_ovrcache.c tif_ovrcache.h
|
||||
addtiffo_LDADD = $(LIBTIFF)
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/libtiff
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#
|
||||
# If libtiff.a is installed in /usr/lib or /usr/local/lib just point
|
||||
# LIBTIFF_DIR there. It doesn't need a full libtiff tree.
|
||||
#
|
||||
!INCLUDE ..\..\nmake.opt
|
||||
|
||||
LIBTIFF_DIR = ..\..\libtiff
|
||||
#
|
||||
INCL = -I..\..\libtiff
|
||||
LIBS = $(LIBTIFF_DIR)\libtiff.lib
|
||||
|
||||
addtiffo: addtiffo.obj tif_overview.obj tif_ovrcache.obj
|
||||
$(CC) $(CFLAGS) addtiffo.obj tif_overview.obj tif_ovrcache.obj \
|
||||
$(LIBS) /Feaddtiffo.exe
|
||||
|
||||
|
||||
addtiffo.obj: addtiffo.c
|
||||
$(CC) -c $(CFLAGS) addtiffo.c
|
||||
|
||||
tif_overview.obj: tif_overview.c
|
||||
$(CC) -c $(CFLAGS) tif_overview.c
|
||||
|
||||
tif_ovrcache.obj: tif_ovrcache.c
|
||||
$(CC) -c $(CFLAGS) tif_ovrcache.c
|
||||
|
||||
clean:
|
||||
-del *.obj
|
||||
-del addtiffo.exe
|
|
@ -1,142 +0,0 @@
|
|||
addtiffo 1.0
|
||||
============
|
||||
|
||||
The addtiffo utility is used to add overview pyramids to an existing
|
||||
TIFF or GeoTIFF file. Some applications can take advantage of these
|
||||
overviews to accelerate overview display performance of large rasters.
|
||||
|
||||
This release of addtiffo is primarily intended for compatibility testing
|
||||
with applications, and to see if there is interest in a cleaner release
|
||||
of the capability ... perhaps incorporation into the libtiff tools
|
||||
distribution.
|
||||
|
||||
Please feel free to contact me with questions, or problems.
|
||||
|
||||
warmerda@home.com
|
||||
http://home.gdal.org/~warmerda/
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Usage: addtiffo [-r {average/nearest} [-subifd]
|
||||
tiff_filename [resolution_reductions]
|
||||
|
||||
Example:
|
||||
% addtiffo abc.tif 2 4 8 16
|
||||
|
||||
The numeric arguments are the list of reduction factors to
|
||||
generate. In this example a 1/2, 1/4 1/8 and 1/16
|
||||
|
||||
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
See tif_overview.cpp for up to date details.
|
||||
|
||||
o Currently only images with bits_per_sample of a multiple of eight
|
||||
will work.
|
||||
|
||||
o The code will attempt to use the same kind of compression,
|
||||
photometric interpretation, and organization as the source image, but
|
||||
it doesn't copy geotiff tags to the reduced resolution images.
|
||||
|
||||
o Reduced resolution overviews for multi-sample files will currently
|
||||
always be generated as PLANARCONFIG_SEPARATE. This could be fixed
|
||||
reasonable easily if needed to improve compatibility with other
|
||||
packages. Many don't properly support PLANARCONFIG_SEPARATE.
|
||||
|
||||
o Overviews are always written as appended IFDs, rather than using the
|
||||
``tree of tree's'' approach using the SUBIFD tag. I wanted to implement
|
||||
both, but it isn't currently easy to add a SUBIFD tag to an existing
|
||||
main tiff IFD with libtiff. I hope to try this again later.
|
||||
|
||||
|
||||
TIFF File Tags
|
||||
--------------
|
||||
|
||||
The results of running addtiffo on a 1024x1024 tiled greyscale file
|
||||
with the arguments ``2 4 8 16'' is to add four additional TIFF directories
|
||||
appended on the file with the SUBFILETYPE flag to 0x1 indicating the extra
|
||||
items are reduced resolution images.
|
||||
|
||||
The tiffinfo output of such a file might look like this:
|
||||
|
||||
TIFF Directory at offset 0x118008
|
||||
Image Width: 1024 Image Length: 1024
|
||||
Tile Width: 256 Tile Length: 112
|
||||
Bits/Sample: 8
|
||||
Compression Scheme: none
|
||||
Photometric Interpretation: min-is-black
|
||||
Samples/Pixel: 1
|
||||
Planar Configuration: single image plane
|
||||
TIFF Directory at offset 0x15e1d2
|
||||
Subfile Type: reduced-resolution image (1 = 0x1)
|
||||
Image Width: 512 Image Length: 512
|
||||
Tile Width: 256 Tile Length: 112
|
||||
Bits/Sample: 8
|
||||
Compression Scheme: none
|
||||
Photometric Interpretation: min-is-black
|
||||
Samples/Pixel: 1
|
||||
Planar Configuration: separate image planes
|
||||
TIFF Directory at offset 0x1732b8
|
||||
Subfile Type: reduced-resolution image (1 = 0x1)
|
||||
Image Width: 256 Image Length: 256
|
||||
Tile Width: 256 Tile Length: 112
|
||||
Bits/Sample: 8
|
||||
Compression Scheme: none
|
||||
Photometric Interpretation: min-is-black
|
||||
Samples/Pixel: 1
|
||||
Planar Configuration: separate image planes
|
||||
TIFF Directory at offset 0x17a366
|
||||
Subfile Type: reduced-resolution image (1 = 0x1)
|
||||
Image Width: 128 Image Length: 128
|
||||
Tile Width: 128 Tile Length: 112
|
||||
Bits/Sample: 8
|
||||
Compression Scheme: none
|
||||
Photometric Interpretation: min-is-black
|
||||
Samples/Pixel: 1
|
||||
Planar Configuration: separate image planes
|
||||
TIFF Directory at offset 0x17b40c
|
||||
Subfile Type: reduced-resolution image (1 = 0x1)
|
||||
Image Width: 64 Image Length: 64
|
||||
Tile Width: 64 Tile Length: 64
|
||||
Bits/Sample: 8
|
||||
Compression Scheme: none
|
||||
Photometric Interpretation: min-is-black
|
||||
Samples/Pixel: 1
|
||||
Planar Configuration: separate image planes
|
||||
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
You will need a C compiler. You will need to have libtiff already
|
||||
built and installed. The provided Makefile should work on most Unix systems.
|
||||
A similar file will be needed for Windows, but is not provided.
|
||||
|
||||
The CFLAGS and LIBS macros in the Makefile will have to be updated to
|
||||
point to the correct location of the libtiff include files, and library.
|
||||
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
o Intergraph Corporation for partially funding the work.
|
||||
|
||||
o Global Geomatics for partially funding reorganization of the overview
|
||||
building ability as a separate utility.
|
||||
|
||||
o Orrin Long, and Ed Grissom of Intergraph for explaining what needed to
|
||||
be done.
|
||||
|
||||
o Max Martinez of Erdas for his discussion of external overviews.
|
||||
|
||||
o Atlantis Scientific who supported adding averaging, and some other
|
||||
generalizations.
|
||||
|
||||
o Frank Warmerdam for writing the bulk of the code.
|
||||
|
||||
o Sam Leffler since this only exists because of his libtiff.
|
||||
|
|
@ -1,165 +0,0 @@
|
|||
/******************************************************************************
|
||||
* $Id: addtiffo.c,v 1.6 2005/12/16 05:59:55 fwarmerdam Exp $
|
||||
*
|
||||
* Project: GeoTIFF Overview Builder
|
||||
* Purpose: Mainline for building overviews in a TIFF file.
|
||||
* Author: Frank Warmerdam, warmerdam@pobox.com
|
||||
*
|
||||
******************************************************************************
|
||||
* Copyright (c) 1999, Frank Warmerdam
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
******************************************************************************
|
||||
*
|
||||
* $Log: addtiffo.c,v $
|
||||
* Revision 1.6 2005/12/16 05:59:55 fwarmerdam
|
||||
* Major upgrade to support YCbCr subsampled jpeg images
|
||||
*
|
||||
* Revision 1.4 2004/09/21 13:31:23 dron
|
||||
* Add missed include string.h.
|
||||
*
|
||||
* Revision 1.3 2000/04/18 22:48:31 warmerda
|
||||
* Added support for averaging resampling
|
||||
*
|
||||
* Revision 1.2 2000/01/28 15:36:38 warmerda
|
||||
* pass TIFF handle instead of filename to overview builder
|
||||
*
|
||||
* Revision 1.1 1999/08/17 01:47:59 warmerda
|
||||
* New
|
||||
*
|
||||
* Revision 1.1 1999/03/12 17:46:32 warmerda
|
||||
* New
|
||||
*
|
||||
* Revision 1.2 1999/02/11 22:27:12 warmerda
|
||||
* Added multi-sample support
|
||||
*
|
||||
* Revision 1.1 1999/02/11 18:12:30 warmerda
|
||||
* New
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "tiffio.h"
|
||||
|
||||
void TIFFBuildOverviews( TIFF *, int, int *, int, const char *,
|
||||
int (*)(double,void*), void * );
|
||||
|
||||
/************************************************************************/
|
||||
/* main() */
|
||||
/************************************************************************/
|
||||
|
||||
int main( int argc, char ** argv )
|
||||
|
||||
{
|
||||
int anOverviews[100]; /* TODO: un-hardwire array length, flexible allocate */
|
||||
int nOverviewCount = 0;
|
||||
int bUseSubIFD = 0;
|
||||
TIFF *hTIFF;
|
||||
const char *pszResampling = "nearest";
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Usage: */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( argc < 2 )
|
||||
{
|
||||
printf( "Usage: addtiffo [-r {nearest,average,mode}]\n"
|
||||
" tiff_filename [resolution_reductions]\n"
|
||||
"\n"
|
||||
"Example:\n"
|
||||
" %% addtiffo abc.tif 2 4 8 16\n" );
|
||||
return( 1 );
|
||||
}
|
||||
|
||||
while( argv[1][0] == '-' )
|
||||
{
|
||||
if( strcmp(argv[1],"-subifd") == 0 )
|
||||
{
|
||||
bUseSubIFD = 1;
|
||||
argv++;
|
||||
argc--;
|
||||
}
|
||||
else if( strcmp(argv[1],"-r") == 0 )
|
||||
{
|
||||
argv += 2;
|
||||
argc -= 2;
|
||||
pszResampling = *argv;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf( stderr, "Incorrect parameters\n" );
|
||||
return( 1 );
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: resampling mode parameter needs to be encoded in an integer from this point on */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Collect the user requested reduction factors. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
while( nOverviewCount < argc - 2 && nOverviewCount < 100 )
|
||||
{
|
||||
anOverviews[nOverviewCount] = atoi(argv[nOverviewCount+2]);
|
||||
if( anOverviews[nOverviewCount] <= 0)
|
||||
{
|
||||
fprintf( stderr, "Incorrect parameters\n" );
|
||||
return(1);
|
||||
}
|
||||
nOverviewCount++;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Default to four overview levels. It would be nicer if it */
|
||||
/* defaulted based on the size of the source image. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* TODO: make it default based on the size of the source image */
|
||||
if( nOverviewCount == 0 )
|
||||
{
|
||||
nOverviewCount = 4;
|
||||
|
||||
anOverviews[0] = 2;
|
||||
anOverviews[1] = 4;
|
||||
anOverviews[2] = 8;
|
||||
anOverviews[3] = 16;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Build the overview. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
hTIFF = TIFFOpen( argv[1], "r+" );
|
||||
if( hTIFF == NULL )
|
||||
{
|
||||
fprintf( stderr, "TIFFOpen(%s) failed.\n", argv[1] );
|
||||
return( 1 );
|
||||
}
|
||||
|
||||
TIFFBuildOverviews( hTIFF, nOverviewCount, anOverviews, bUseSubIFD,
|
||||
pszResampling, NULL, NULL );
|
||||
|
||||
TIFFClose( hTIFF );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Optionally test for memory leaks. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
#ifdef DBMALLOC
|
||||
malloc_dump(1);
|
||||
#endif
|
||||
|
||||
return( 0 );
|
||||
}
|
|
@ -1,896 +0,0 @@
|
|||
/******************************************************************************
|
||||
* tif_overview.c,v 1.9 2005/05/25 09:03:16 dron Exp
|
||||
*
|
||||
* Project: TIFF Overview Builder
|
||||
* Purpose: Library function for building overviews in a TIFF file.
|
||||
* Author: Frank Warmerdam, warmerdam@pobox.com
|
||||
*
|
||||
* Notes:
|
||||
* o Currently only images with bits_per_sample of a multiple of eight
|
||||
* will work.
|
||||
*
|
||||
* o The downsampler currently just takes the top left pixel from the
|
||||
* source rectangle. Eventually sampling options of averaging, mode, and
|
||||
* ``center pixel'' should be offered.
|
||||
*
|
||||
* o The code will attempt to use the same kind of compression,
|
||||
* photometric interpretation, and organization as the source image, but
|
||||
* it doesn't copy geotiff tags to the reduced resolution images.
|
||||
*
|
||||
* o Reduced resolution overviews for multi-sample files will currently
|
||||
* always be generated as PLANARCONFIG_SEPARATE. This could be fixed
|
||||
* reasonable easily if needed to improve compatibility with other
|
||||
* packages. Many don't properly support PLANARCONFIG_SEPARATE.
|
||||
*
|
||||
******************************************************************************
|
||||
* Copyright (c) 1999, Frank Warmerdam
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/* TODO: update notes in header above */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "tiffio.h"
|
||||
#include "tif_ovrcache.h"
|
||||
|
||||
#ifndef FALSE
|
||||
# define FALSE 0
|
||||
# define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
# define MIN(a,b) ((a<b) ? a : b)
|
||||
# define MAX(a,b) ((a>b) ? a : b)
|
||||
#endif
|
||||
|
||||
void TIFFBuildOverviews( TIFF *, int, int *, int, const char *,
|
||||
int (*)(double,void*), void * );
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_WriteOverview() */
|
||||
/* */
|
||||
/* Create a new directory, without any image data for an overview. */
|
||||
/* Returns offset of newly created overview directory, but the */
|
||||
/* current directory is reset to be the one in used when this */
|
||||
/* function is called. */
|
||||
/************************************************************************/
|
||||
|
||||
uint32 TIFF_WriteOverview( TIFF *hTIFF, int nXSize, int nYSize,
|
||||
int nBitsPerPixel, int nPlanarConfig, int nSamples,
|
||||
int nBlockXSize, int nBlockYSize,
|
||||
int bTiled, int nCompressFlag, int nPhotometric,
|
||||
int nSampleFormat,
|
||||
unsigned short *panRed,
|
||||
unsigned short *panGreen,
|
||||
unsigned short *panBlue,
|
||||
int bUseSubIFDs,
|
||||
int nHorSubsampling, int nVerSubsampling )
|
||||
|
||||
{
|
||||
uint32 nBaseDirOffset;
|
||||
uint32 nOffset;
|
||||
|
||||
nBaseDirOffset = TIFFCurrentDirOffset( hTIFF );
|
||||
|
||||
TIFFCreateDirectory( hTIFF );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Setup TIFF fields. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
TIFFSetField( hTIFF, TIFFTAG_IMAGEWIDTH, nXSize );
|
||||
TIFFSetField( hTIFF, TIFFTAG_IMAGELENGTH, nYSize );
|
||||
if( nSamples == 1 )
|
||||
TIFFSetField( hTIFF, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG );
|
||||
else
|
||||
TIFFSetField( hTIFF, TIFFTAG_PLANARCONFIG, nPlanarConfig );
|
||||
|
||||
TIFFSetField( hTIFF, TIFFTAG_BITSPERSAMPLE, nBitsPerPixel );
|
||||
TIFFSetField( hTIFF, TIFFTAG_SAMPLESPERPIXEL, nSamples );
|
||||
TIFFSetField( hTIFF, TIFFTAG_COMPRESSION, nCompressFlag );
|
||||
TIFFSetField( hTIFF, TIFFTAG_PHOTOMETRIC, nPhotometric );
|
||||
TIFFSetField( hTIFF, TIFFTAG_SAMPLEFORMAT, nSampleFormat );
|
||||
|
||||
if( bTiled )
|
||||
{
|
||||
TIFFSetField( hTIFF, TIFFTAG_TILEWIDTH, nBlockXSize );
|
||||
TIFFSetField( hTIFF, TIFFTAG_TILELENGTH, nBlockYSize );
|
||||
}
|
||||
else
|
||||
TIFFSetField( hTIFF, TIFFTAG_ROWSPERSTRIP, nBlockYSize );
|
||||
|
||||
TIFFSetField( hTIFF, TIFFTAG_SUBFILETYPE, FILETYPE_REDUCEDIMAGE );
|
||||
|
||||
if( nPhotometric == PHOTOMETRIC_YCBCR || nPhotometric == PHOTOMETRIC_ITULAB )
|
||||
{
|
||||
TIFFSetField( hTIFF, TIFFTAG_YCBCRSUBSAMPLING, nHorSubsampling, nVerSubsampling);
|
||||
/* TODO: also write YCbCrPositioning and YCbCrCoefficients tag identical to source IFD */
|
||||
}
|
||||
/* TODO: add command-line parameter for selecting jpeg compression quality
|
||||
* that gets ignored when compression isn't jpeg */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Write color table if one is present. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( panRed != NULL )
|
||||
{
|
||||
TIFFSetField( hTIFF, TIFFTAG_COLORMAP, panRed, panGreen, panBlue );
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Write directory, and return byte offset. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( TIFFWriteCheck( hTIFF, bTiled, "TIFFBuildOverviews" ) == 0 )
|
||||
return 0;
|
||||
|
||||
TIFFWriteDirectory( hTIFF );
|
||||
TIFFSetDirectory( hTIFF, (tdir_t) (TIFFNumberOfDirectories(hTIFF)-1) );
|
||||
|
||||
nOffset = TIFFCurrentDirOffset( hTIFF );
|
||||
|
||||
TIFFSetSubDirectory( hTIFF, nBaseDirOffset );
|
||||
|
||||
return nOffset;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_GetSourceSamples() */
|
||||
/************************************************************************/
|
||||
|
||||
static void
|
||||
TIFF_GetSourceSamples( double * padfSamples, unsigned char *pabySrc,
|
||||
int nPixelBytes, int nSampleFormat,
|
||||
int nXSize, int nYSize,
|
||||
int nPixelOffset, int nLineOffset )
|
||||
{
|
||||
int iXOff, iYOff, iSample;
|
||||
|
||||
iSample = 0;
|
||||
|
||||
for( iYOff = 0; iYOff < nYSize; iYOff++ )
|
||||
{
|
||||
for( iXOff = 0; iXOff < nXSize; iXOff++ )
|
||||
{
|
||||
unsigned char *pabyData;
|
||||
|
||||
pabyData = pabySrc + iYOff * nLineOffset + iXOff * nPixelOffset;
|
||||
|
||||
if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 1 )
|
||||
{
|
||||
padfSamples[iSample++] = *pabyData;
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 2 )
|
||||
{
|
||||
padfSamples[iSample++] = ((uint16 *) pabyData)[0];
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 4 )
|
||||
{
|
||||
padfSamples[iSample++] = ((uint32 *) pabyData)[0];
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_INT && nPixelBytes == 2 )
|
||||
{
|
||||
padfSamples[iSample++] = ((int16 *) pabyData)[0];
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_INT && nPixelBytes == 32 )
|
||||
{
|
||||
padfSamples[iSample++] = ((int32 *) pabyData)[0];
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_IEEEFP && nPixelBytes == 4 )
|
||||
{
|
||||
padfSamples[iSample++] = ((float *) pabyData)[0];
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_IEEEFP && nPixelBytes == 8 )
|
||||
{
|
||||
padfSamples[iSample++] = ((double *) pabyData)[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_SetSample() */
|
||||
/************************************************************************/
|
||||
|
||||
static void
|
||||
TIFF_SetSample( unsigned char * pabyData, int nPixelBytes, int nSampleFormat,
|
||||
double dfValue )
|
||||
|
||||
{
|
||||
if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 1 )
|
||||
{
|
||||
*pabyData = (unsigned char) MAX(0,MIN(255,dfValue));
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 2 )
|
||||
{
|
||||
*((uint16 *)pabyData) = (uint16) MAX(0,MIN(65535,dfValue));
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_UINT && nPixelBytes == 4 )
|
||||
{
|
||||
*((uint32 *)pabyData) = (uint32) dfValue;
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_INT && nPixelBytes == 2 )
|
||||
{
|
||||
*((int16 *)pabyData) = (int16) MAX(-32768,MIN(32767,dfValue));
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_INT && nPixelBytes == 32 )
|
||||
{
|
||||
*((int32 *)pabyData) = (int32) dfValue;
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_IEEEFP && nPixelBytes == 4 )
|
||||
{
|
||||
*((float *)pabyData) = (float) dfValue;
|
||||
}
|
||||
else if( nSampleFormat == SAMPLEFORMAT_IEEEFP && nPixelBytes == 8 )
|
||||
{
|
||||
*((double *)pabyData) = dfValue;
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_DownSample() */
|
||||
/* */
|
||||
/* Down sample a tile of full res data into a window of a tile */
|
||||
/* of downsampled data. */
|
||||
/************************************************************************/
|
||||
|
||||
static
|
||||
void TIFF_DownSample( unsigned char *pabySrcTile,
|
||||
int nBlockXSize, int nBlockYSize,
|
||||
int nPixelSkewBits, int nBitsPerPixel,
|
||||
unsigned char * pabyOTile,
|
||||
int nOBlockXSize, int nOBlockYSize,
|
||||
int nTXOff, int nTYOff, int nOMult,
|
||||
int nSampleFormat, const char * pszResampling )
|
||||
|
||||
{
|
||||
int i, j, k, nPixelBytes = (nBitsPerPixel) / 8;
|
||||
int nPixelGroupBytes = (nBitsPerPixel+nPixelSkewBits)/8;
|
||||
unsigned char *pabySrc, *pabyDst;
|
||||
double *padfSamples;
|
||||
|
||||
assert( nBitsPerPixel >= 8 );
|
||||
|
||||
padfSamples = (double *) malloc(sizeof(double) * nOMult * nOMult);
|
||||
|
||||
/* ==================================================================== */
|
||||
/* Loop over scanline chunks to process, establishing where the */
|
||||
/* data is going. */
|
||||
/* ==================================================================== */
|
||||
for( j = 0; j*nOMult < nBlockYSize; j++ )
|
||||
{
|
||||
if( j + nTYOff >= nOBlockYSize )
|
||||
break;
|
||||
|
||||
pabyDst = pabyOTile + ((j+nTYOff)*nOBlockXSize + nTXOff)
|
||||
* nPixelBytes * nPixelGroupBytes;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Handler nearest resampling ... we don't even care about the */
|
||||
/* data type, we just do a bytewise copy. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( strncmp(pszResampling,"nearest",4) == 0
|
||||
|| strncmp(pszResampling,"NEAR",4) == 0 )
|
||||
{
|
||||
pabySrc = pabySrcTile + j*nOMult*nBlockXSize * nPixelGroupBytes;
|
||||
|
||||
for( i = 0; i*nOMult < nBlockXSize; i++ )
|
||||
{
|
||||
if( i + nTXOff >= nOBlockXSize )
|
||||
break;
|
||||
|
||||
/*
|
||||
* For now use simple subsampling, from the top left corner
|
||||
* of the source block of pixels.
|
||||
*/
|
||||
|
||||
for( k = 0; k < nPixelBytes; k++ )
|
||||
pabyDst[k] = pabySrc[k];
|
||||
|
||||
pabyDst += nPixelBytes * nPixelGroupBytes;
|
||||
pabySrc += nOMult * nPixelGroupBytes;
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Handle the case of averaging. For this we also have to */
|
||||
/* handle each sample format we are concerned with. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
else if( strncmp(pszResampling,"averag",6) == 0
|
||||
|| strncmp(pszResampling,"AVERAG",6) == 0 )
|
||||
{
|
||||
pabySrc = pabySrcTile + j*nOMult*nBlockXSize * nPixelGroupBytes;
|
||||
|
||||
for( i = 0; i*nOMult < nBlockXSize; i++ )
|
||||
{
|
||||
double dfTotal;
|
||||
int iSample;
|
||||
int nXSize, nYSize;
|
||||
|
||||
if( i + nTXOff >= nOBlockXSize )
|
||||
break;
|
||||
|
||||
nXSize = MIN(nOMult,nBlockXSize-i);
|
||||
nYSize = MIN(nOMult,nBlockYSize-j);
|
||||
|
||||
TIFF_GetSourceSamples( padfSamples, pabySrc,
|
||||
nPixelBytes, nSampleFormat,
|
||||
nXSize, nYSize,
|
||||
nPixelGroupBytes,
|
||||
nPixelGroupBytes * nBlockXSize );
|
||||
|
||||
dfTotal = 0;
|
||||
for( iSample = 0; iSample < nXSize*nYSize; iSample++ )
|
||||
{
|
||||
dfTotal += padfSamples[iSample];
|
||||
}
|
||||
|
||||
TIFF_SetSample( pabyDst, nPixelBytes, nSampleFormat,
|
||||
dfTotal / (nXSize*nYSize) );
|
||||
|
||||
pabySrc += nOMult * nPixelGroupBytes;
|
||||
pabyDst += nPixelBytes;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
free( padfSamples );
|
||||
}
|
||||
|
||||
static
|
||||
void TIFF_DownSample_Subsampled( unsigned char *pabySrcTile, int nSample,
|
||||
int nBlockXSize, int nBlockYSize,
|
||||
unsigned char * pabyOTile,
|
||||
int nOBlockXSize, int nOBlockYSize,
|
||||
int nTXOff, int nTYOff, int nOMult,
|
||||
const char * pszResampling,
|
||||
int nHorSubsampling, int nVerSubsampling )
|
||||
{
|
||||
/* TODO: test with variety of subsampling values, and incovinient tile/strip sizes */
|
||||
int nSampleBlockSize;
|
||||
int nSourceSampleRowSize;
|
||||
int nDestSampleRowSize;
|
||||
int nSourceX, nSourceY;
|
||||
int nSourceXSec, nSourceYSec;
|
||||
int nSourceXSecEnd, nSourceYSecEnd;
|
||||
int nDestX, nDestY;
|
||||
int nSampleOffsetInSampleBlock;
|
||||
unsigned char * pSourceBase;
|
||||
unsigned char * pDestBase;
|
||||
int nSourceBaseInc;
|
||||
unsigned char * pSourceBaseEnd;
|
||||
unsigned int nCummulator;
|
||||
unsigned int nCummulatorCount;
|
||||
|
||||
nSampleBlockSize = nHorSubsampling * nVerSubsampling + 2;
|
||||
nSourceSampleRowSize = ( ( nBlockXSize + nHorSubsampling - 1 ) / nHorSubsampling ) * nSampleBlockSize;
|
||||
nDestSampleRowSize = ( ( nOBlockXSize + nHorSubsampling - 1 ) / nHorSubsampling ) * nSampleBlockSize;
|
||||
|
||||
if( strncmp(pszResampling,"nearest",4) == 0
|
||||
|| strncmp(pszResampling,"NEAR",4) == 0 )
|
||||
{
|
||||
if( nSample == 0 )
|
||||
{
|
||||
#ifdef NOOPTIMIZATION
|
||||
/*
|
||||
* This version is not optimized, and should not be used except as documentation and as more clear
|
||||
* starting point for bug fixes (hope not) and extension
|
||||
*/
|
||||
for( nSourceY = 0, nDestY = nTYOff; nSourceY < nBlockYSize; nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
for( nSourceX = 0, nDestX = nTXOff; nSourceX < nBlockXSize; nSourceX += nOMult, nDestX ++)
|
||||
{
|
||||
* ( pabyOTile + ( nDestY / nVerSubsampling ) * nDestSampleRowSize
|
||||
+ ( nDestY % nVerSubsampling ) * nHorSubsampling
|
||||
+ ( nDestX / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nDestX % nHorSubsampling ) ) =
|
||||
* ( pabySrcTile + ( nSourceY / nVerSubsampling ) * nSourceSampleRowSize
|
||||
+ ( nSourceY % nVerSubsampling ) * nHorSubsampling
|
||||
+ ( nSourceX / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nSourceX % nHorSubsampling ) );
|
||||
}
|
||||
}
|
||||
#else
|
||||
for( nSourceY = 0, nDestY = nTYOff; nSourceY < nBlockYSize; nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
pSourceBase = pabySrcTile + ( nSourceY / nVerSubsampling ) * nSourceSampleRowSize
|
||||
+ ( nSourceY % nVerSubsampling ) * nHorSubsampling;
|
||||
pDestBase = pabyOTile + ( nDestY / nVerSubsampling ) * nDestSampleRowSize
|
||||
+ ( nDestY % nVerSubsampling ) * nHorSubsampling;
|
||||
for( nSourceX = 0, nDestX = nTXOff; nSourceX < nBlockXSize; nSourceX += nOMult, nDestX ++)
|
||||
{
|
||||
* ( pDestBase + ( nDestX / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nDestX % nHorSubsampling ) ) =
|
||||
* ( pSourceBase + ( nSourceX / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nSourceX % nHorSubsampling ) );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef NOOPTIMIZATION
|
||||
/*
|
||||
* This version is not optimized, and should not be used except as documentation and as more clear
|
||||
* starting point for bug fixes (hope not) and extension
|
||||
*/
|
||||
nSampleOffsetInSampleBlock = nHorSubsampling * nVerSubsampling + nSample - 1;
|
||||
for( nSourceY = 0, nDestY = ( nTYOff / nVerSubsampling ); nSourceY < ( nBlockYSize / nVerSubsampling );
|
||||
nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
for( nSourceX = 0, nDestX = ( nTXOff / nHorSubsampling ); nSourceX < ( nBlockXSize / nHorSubsampling );
|
||||
nSourceX += nOMult, nDestX ++)
|
||||
{
|
||||
* ( pabyOTile + nDestY * nDestSampleRowSize
|
||||
+ nDestX * nSampleBlockSize
|
||||
+ nSampleOffsetInSampleBlock ) =
|
||||
* ( pabySrcTile + nSourceY * nSourceSampleRowSize
|
||||
+ nSourceX * nSampleBlockSize
|
||||
+ nSampleOffsetInSampleBlock );
|
||||
}
|
||||
}
|
||||
#else
|
||||
nSampleOffsetInSampleBlock = nHorSubsampling * nVerSubsampling + nSample - 1;
|
||||
nSourceBaseInc = nOMult * nSampleBlockSize;
|
||||
for( nSourceY = 0, nDestY = ( nTYOff / nVerSubsampling ); nSourceY < ( nBlockYSize / nVerSubsampling);
|
||||
nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
pSourceBase = pabySrcTile + nSourceY * nSourceSampleRowSize
|
||||
+ nSampleOffsetInSampleBlock;
|
||||
pSourceBaseEnd = pSourceBase + ( ( ( nBlockXSize / nHorSubsampling ) + nOMult - 1 ) / nOMult ) * nSourceBaseInc;
|
||||
pDestBase = pabyOTile + nDestY * nDestSampleRowSize
|
||||
+ ( nTXOff / nHorSubsampling ) * nSampleBlockSize
|
||||
+ nSampleOffsetInSampleBlock;
|
||||
for( ; pSourceBase < pSourceBaseEnd; pSourceBase += nSourceBaseInc, pDestBase += nSampleBlockSize)
|
||||
* pDestBase = * pSourceBase;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if( strncmp(pszResampling,"averag",6) == 0
|
||||
|| strncmp(pszResampling,"AVERAG",6) == 0 )
|
||||
{
|
||||
if( nSample == 0 )
|
||||
{
|
||||
for( nSourceY = 0, nDestY = nTYOff; nSourceY < nBlockYSize; nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
for( nSourceX = 0, nDestX = nTXOff; nSourceX < nBlockXSize; nSourceX += nOMult, nDestX ++)
|
||||
{
|
||||
nSourceXSecEnd = nSourceX + nOMult;
|
||||
if( nSourceXSecEnd > nBlockXSize )
|
||||
nSourceXSecEnd = nBlockXSize;
|
||||
nSourceYSecEnd = nSourceY + nOMult;
|
||||
if( nSourceYSecEnd > nBlockYSize )
|
||||
nSourceYSecEnd = nBlockYSize;
|
||||
nCummulator = 0;
|
||||
for( nSourceYSec = nSourceY; nSourceYSec < nSourceYSecEnd; nSourceYSec ++)
|
||||
{
|
||||
for( nSourceXSec = nSourceX; nSourceXSec < nSourceXSecEnd; nSourceXSec ++)
|
||||
{
|
||||
nCummulator += * ( pabySrcTile + ( nSourceYSec / nVerSubsampling ) * nSourceSampleRowSize
|
||||
+ ( nSourceYSec % nVerSubsampling ) * nHorSubsampling
|
||||
+ ( nSourceXSec / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nSourceXSec % nHorSubsampling ) );
|
||||
}
|
||||
}
|
||||
nCummulatorCount = ( nSourceXSecEnd - nSourceX ) * ( nSourceYSecEnd - nSourceY );
|
||||
* ( pabyOTile + ( nDestY / nVerSubsampling ) * nDestSampleRowSize
|
||||
+ ( nDestY % nVerSubsampling ) * nHorSubsampling
|
||||
+ ( nDestX / nHorSubsampling ) * nSampleBlockSize
|
||||
+ ( nDestX % nHorSubsampling ) ) =
|
||||
( ( nCummulator + ( nCummulatorCount >> 1 ) ) / nCummulatorCount );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
nSampleOffsetInSampleBlock = nHorSubsampling * nVerSubsampling + nSample - 1;
|
||||
for( nSourceY = 0, nDestY = ( nTYOff / nVerSubsampling ); nSourceY < ( nBlockYSize / nVerSubsampling );
|
||||
nSourceY += nOMult, nDestY ++)
|
||||
{
|
||||
for( nSourceX = 0, nDestX = ( nTXOff / nHorSubsampling ); nSourceX < ( nBlockXSize / nHorSubsampling );
|
||||
nSourceX += nOMult, nDestX ++)
|
||||
{
|
||||
nSourceXSecEnd = nSourceX + nOMult;
|
||||
if( nSourceXSecEnd > ( nBlockXSize / nHorSubsampling ) )
|
||||
nSourceXSecEnd = ( nBlockXSize / nHorSubsampling );
|
||||
nSourceYSecEnd = nSourceY + nOMult;
|
||||
if( nSourceYSecEnd > ( nBlockYSize / nVerSubsampling ) )
|
||||
nSourceYSecEnd = ( nBlockYSize / nVerSubsampling );
|
||||
nCummulator = 0;
|
||||
for( nSourceYSec = nSourceY; nSourceYSec < nSourceYSecEnd; nSourceYSec ++)
|
||||
{
|
||||
for( nSourceXSec = nSourceX; nSourceXSec < nSourceXSecEnd; nSourceXSec ++)
|
||||
{
|
||||
nCummulator += * ( pabySrcTile + nSourceYSec * nSourceSampleRowSize
|
||||
+ nSourceXSec * nSampleBlockSize
|
||||
+ nSampleOffsetInSampleBlock );
|
||||
}
|
||||
}
|
||||
nCummulatorCount = ( nSourceXSecEnd - nSourceX ) * ( nSourceYSecEnd - nSourceY );
|
||||
* ( pabyOTile + nDestY * nDestSampleRowSize
|
||||
+ nDestX * nSampleBlockSize
|
||||
+ nSampleOffsetInSampleBlock ) =
|
||||
( ( nCummulator + ( nCummulatorCount >> 1 ) ) / nCummulatorCount );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_ProcessFullResBlock() */
|
||||
/* */
|
||||
/* Process one block of full res data, downsampling into each */
|
||||
/* of the overviews. */
|
||||
/************************************************************************/
|
||||
|
||||
void TIFF_ProcessFullResBlock( TIFF *hTIFF, int nPlanarConfig,
|
||||
int bSubsampled, int nHorSubsampling, int nVerSubsampling,
|
||||
int nOverviews, int * panOvList,
|
||||
int nBitsPerPixel,
|
||||
int nSamples, TIFFOvrCache ** papoRawBIs,
|
||||
int nSXOff, int nSYOff,
|
||||
unsigned char *pabySrcTile,
|
||||
int nBlockXSize, int nBlockYSize,
|
||||
int nSampleFormat, const char * pszResampling )
|
||||
|
||||
{
|
||||
int iOverview, iSample;
|
||||
|
||||
for( iSample = 0; iSample < nSamples; iSample++ )
|
||||
{
|
||||
/*
|
||||
* We have to read a tile/strip for each sample for
|
||||
* PLANARCONFIG_SEPARATE. Otherwise, we just read all the samples
|
||||
* at once when handling the first sample.
|
||||
*/
|
||||
if( nPlanarConfig == PLANARCONFIG_SEPARATE || iSample == 0 )
|
||||
{
|
||||
if( TIFFIsTiled(hTIFF) )
|
||||
{
|
||||
TIFFReadEncodedTile( hTIFF,
|
||||
TIFFComputeTile(hTIFF, nSXOff, nSYOff,
|
||||
0, (tsample_t)iSample ),
|
||||
pabySrcTile,
|
||||
TIFFTileSize(hTIFF));
|
||||
}
|
||||
else
|
||||
{
|
||||
TIFFReadEncodedStrip( hTIFF,
|
||||
TIFFComputeStrip(hTIFF, nSYOff,
|
||||
(tsample_t) iSample),
|
||||
pabySrcTile,
|
||||
TIFFStripSize(hTIFF) );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Loop over destination overview layers
|
||||
*/
|
||||
for( iOverview = 0; iOverview < nOverviews; iOverview++ )
|
||||
{
|
||||
TIFFOvrCache *poRBI = papoRawBIs[iOverview];
|
||||
unsigned char *pabyOTile;
|
||||
int nTXOff, nTYOff, nOXOff, nOYOff, nOMult;
|
||||
int nOBlockXSize = poRBI->nBlockXSize;
|
||||
int nOBlockYSize = poRBI->nBlockYSize;
|
||||
int nSkewBits, nSampleByteOffset;
|
||||
|
||||
/*
|
||||
* Fetch the destination overview tile
|
||||
*/
|
||||
nOMult = panOvList[iOverview];
|
||||
nOXOff = (nSXOff/nOMult) / nOBlockXSize;
|
||||
nOYOff = (nSYOff/nOMult) / nOBlockYSize;
|
||||
|
||||
if( bSubsampled )
|
||||
{
|
||||
pabyOTile = TIFFGetOvrBlock_Subsampled( poRBI, nOXOff, nOYOff );
|
||||
|
||||
/*
|
||||
* Establish the offset into this tile at which we should
|
||||
* start placing data.
|
||||
*/
|
||||
nTXOff = (nSXOff - nOXOff*nOMult*nOBlockXSize) / nOMult;
|
||||
nTYOff = (nSYOff - nOYOff*nOMult*nOBlockYSize) / nOMult;
|
||||
|
||||
|
||||
#ifdef DBMALLOC
|
||||
malloc_chain_check( 1 );
|
||||
#endif
|
||||
TIFF_DownSample_Subsampled( pabySrcTile, iSample,
|
||||
nBlockXSize, nBlockYSize,
|
||||
pabyOTile,
|
||||
poRBI->nBlockXSize, poRBI->nBlockYSize,
|
||||
nTXOff, nTYOff,
|
||||
nOMult, pszResampling,
|
||||
nHorSubsampling, nVerSubsampling );
|
||||
#ifdef DBMALLOC
|
||||
malloc_chain_check( 1 );
|
||||
#endif
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
pabyOTile = TIFFGetOvrBlock( poRBI, nOXOff, nOYOff, iSample );
|
||||
|
||||
/*
|
||||
* Establish the offset into this tile at which we should
|
||||
* start placing data.
|
||||
*/
|
||||
nTXOff = (nSXOff - nOXOff*nOMult*nOBlockXSize) / nOMult;
|
||||
nTYOff = (nSYOff - nOYOff*nOMult*nOBlockYSize) / nOMult;
|
||||
|
||||
/*
|
||||
* Figure out the skew (extra space between ``our samples'') and
|
||||
* the byte offset to the first sample.
|
||||
*/
|
||||
assert( (nBitsPerPixel % 8) == 0 );
|
||||
if( nPlanarConfig == PLANARCONFIG_SEPARATE )
|
||||
{
|
||||
nSkewBits = 0;
|
||||
nSampleByteOffset = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
nSkewBits = nBitsPerPixel * (nSamples-1);
|
||||
nSampleByteOffset = (nBitsPerPixel/8) * iSample;
|
||||
}
|
||||
|
||||
/*
|
||||
* Perform the downsampling.
|
||||
*/
|
||||
#ifdef DBMALLOC
|
||||
malloc_chain_check( 1 );
|
||||
#endif
|
||||
TIFF_DownSample( pabySrcTile + nSampleByteOffset,
|
||||
nBlockXSize, nBlockYSize,
|
||||
nSkewBits, nBitsPerPixel, pabyOTile,
|
||||
poRBI->nBlockXSize, poRBI->nBlockYSize,
|
||||
nTXOff, nTYOff,
|
||||
nOMult, nSampleFormat, pszResampling );
|
||||
#ifdef DBMALLOC
|
||||
malloc_chain_check( 1 );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFF_BuildOverviews() */
|
||||
/* */
|
||||
/* Build the requested list of overviews. Overviews are */
|
||||
/* maintained in a bunch of temporary files and then these are */
|
||||
/* written back to the TIFF file. Only one pass through the */
|
||||
/* source TIFF file is made for any number of output */
|
||||
/* overviews. */
|
||||
/************************************************************************/
|
||||
|
||||
void TIFFBuildOverviews( TIFF *hTIFF, int nOverviews, int * panOvList,
|
||||
int bUseSubIFDs, const char *pszResampleMethod,
|
||||
int (*pfnProgress)( double, void * ),
|
||||
void * pProgressData )
|
||||
|
||||
{
|
||||
TIFFOvrCache **papoRawBIs;
|
||||
uint32 nXSize, nYSize, nBlockXSize, nBlockYSize;
|
||||
uint16 nBitsPerPixel, nPhotometric, nCompressFlag, nSamples,
|
||||
nPlanarConfig, nSampleFormat;
|
||||
int bSubsampled;
|
||||
uint16 nHorSubsampling, nVerSubsampling;
|
||||
int bTiled, nSXOff, nSYOff, i;
|
||||
unsigned char *pabySrcTile;
|
||||
uint16 *panRedMap, *panGreenMap, *panBlueMap;
|
||||
TIFFErrorHandler pfnWarning;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Get the base raster size. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
TIFFGetField( hTIFF, TIFFTAG_IMAGEWIDTH, &nXSize );
|
||||
TIFFGetField( hTIFF, TIFFTAG_IMAGELENGTH, &nYSize );
|
||||
|
||||
TIFFGetField( hTIFF, TIFFTAG_BITSPERSAMPLE, &nBitsPerPixel );
|
||||
/* TODO: nBitsPerPixel seems misnomer and may need renaming to nBitsPerSample */
|
||||
TIFFGetField( hTIFF, TIFFTAG_SAMPLESPERPIXEL, &nSamples );
|
||||
TIFFGetFieldDefaulted( hTIFF, TIFFTAG_PLANARCONFIG, &nPlanarConfig );
|
||||
|
||||
TIFFGetFieldDefaulted( hTIFF, TIFFTAG_PHOTOMETRIC, &nPhotometric );
|
||||
TIFFGetFieldDefaulted( hTIFF, TIFFTAG_COMPRESSION, &nCompressFlag );
|
||||
TIFFGetFieldDefaulted( hTIFF, TIFFTAG_SAMPLEFORMAT, &nSampleFormat );
|
||||
|
||||
if( nPhotometric == PHOTOMETRIC_YCBCR || nPhotometric == PHOTOMETRIC_ITULAB )
|
||||
{
|
||||
if( nBitsPerPixel != 8 || nSamples != 3 || nPlanarConfig != PLANARCONFIG_CONTIG ||
|
||||
nSampleFormat != SAMPLEFORMAT_UINT)
|
||||
{
|
||||
/* TODO: use of TIFFError is inconsistent with use of fprintf in addtiffo.c, sort out */
|
||||
TIFFErrorExt( TIFFClientdata(hTIFF), "TIFFBuildOverviews",
|
||||
"File `%s' has an unsupported subsampling configuration.\n",
|
||||
TIFFFileName(hTIFF) );
|
||||
/* If you need support for this particular flavor, please contact either
|
||||
* Frank Warmerdam warmerdam@pobox.com
|
||||
* Joris Van Damme info@awaresystems.be
|
||||
*/
|
||||
return;
|
||||
}
|
||||
bSubsampled = 1;
|
||||
TIFFGetField( hTIFF, TIFFTAG_YCBCRSUBSAMPLING, &nHorSubsampling, &nVerSubsampling );
|
||||
/* TODO: find out if maybe TIFFGetFieldDefaulted is better choice for YCbCrSubsampling tag */
|
||||
}
|
||||
else
|
||||
{
|
||||
if( nBitsPerPixel < 8 )
|
||||
{
|
||||
/* TODO: use of TIFFError is inconsistent with use of fprintf in addtiffo.c, sort out */
|
||||
TIFFErrorExt( TIFFClientdata(hTIFF), "TIFFBuildOverviews",
|
||||
"File `%s' has samples of %d bits per sample. Sample\n"
|
||||
"sizes of less than 8 bits per sample are not supported.\n",
|
||||
TIFFFileName(hTIFF), nBitsPerPixel );
|
||||
return;
|
||||
}
|
||||
bSubsampled = 0;
|
||||
nHorSubsampling = 1;
|
||||
nVerSubsampling = 1;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Turn off warnings to avoid alot of repeated warnings while */
|
||||
/* rereading directories. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
pfnWarning = TIFFSetWarningHandler( NULL );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Get the base raster block size. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( TIFFGetField( hTIFF, TIFFTAG_ROWSPERSTRIP, &(nBlockYSize) ) )
|
||||
{
|
||||
nBlockXSize = nXSize;
|
||||
bTiled = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
TIFFGetField( hTIFF, TIFFTAG_TILEWIDTH, &nBlockXSize );
|
||||
TIFFGetField( hTIFF, TIFFTAG_TILELENGTH, &nBlockYSize );
|
||||
bTiled = TRUE;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Capture the pallette if there is one. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( TIFFGetField( hTIFF, TIFFTAG_COLORMAP,
|
||||
&panRedMap, &panGreenMap, &panBlueMap ) )
|
||||
{
|
||||
uint16 *panRed2, *panGreen2, *panBlue2;
|
||||
int nColorCount = 1 << nBitsPerPixel;
|
||||
|
||||
panRed2 = (uint16 *) _TIFFmalloc(2*nColorCount);
|
||||
panGreen2 = (uint16 *) _TIFFmalloc(2*nColorCount);
|
||||
panBlue2 = (uint16 *) _TIFFmalloc(2*nColorCount);
|
||||
|
||||
memcpy( panRed2, panRedMap, 2 * nColorCount );
|
||||
memcpy( panGreen2, panGreenMap, 2 * nColorCount );
|
||||
memcpy( panBlue2, panBlueMap, 2 * nColorCount );
|
||||
|
||||
panRedMap = panRed2;
|
||||
panGreenMap = panGreen2;
|
||||
panBlueMap = panBlue2;
|
||||
}
|
||||
else
|
||||
{
|
||||
panRedMap = panGreenMap = panBlueMap = NULL;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Initialize overviews. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
papoRawBIs = (TIFFOvrCache **) _TIFFmalloc(nOverviews*sizeof(void*));
|
||||
|
||||
for( i = 0; i < nOverviews; i++ )
|
||||
{
|
||||
int nOXSize, nOYSize, nOBlockXSize, nOBlockYSize;
|
||||
uint32 nDirOffset;
|
||||
|
||||
nOXSize = (nXSize + panOvList[i] - 1) / panOvList[i];
|
||||
nOYSize = (nYSize + panOvList[i] - 1) / panOvList[i];
|
||||
|
||||
nOBlockXSize = MIN((int)nBlockXSize,nOXSize);
|
||||
nOBlockYSize = MIN((int)nBlockYSize,nOYSize);
|
||||
|
||||
if( bTiled )
|
||||
{
|
||||
if( (nOBlockXSize % 16) != 0 )
|
||||
nOBlockXSize = nOBlockXSize + 16 - (nOBlockXSize % 16);
|
||||
|
||||
if( (nOBlockYSize % 16) != 0 )
|
||||
nOBlockYSize = nOBlockYSize + 16 - (nOBlockYSize % 16);
|
||||
}
|
||||
|
||||
nDirOffset = TIFF_WriteOverview( hTIFF, nOXSize, nOYSize,
|
||||
nBitsPerPixel, nPlanarConfig,
|
||||
nSamples, nOBlockXSize, nOBlockYSize,
|
||||
bTiled, nCompressFlag, nPhotometric,
|
||||
nSampleFormat,
|
||||
panRedMap, panGreenMap, panBlueMap,
|
||||
bUseSubIFDs,
|
||||
nHorSubsampling, nVerSubsampling );
|
||||
|
||||
papoRawBIs[i] = TIFFCreateOvrCache( hTIFF, nDirOffset );
|
||||
}
|
||||
|
||||
if( panRedMap != NULL )
|
||||
{
|
||||
_TIFFfree( panRedMap );
|
||||
_TIFFfree( panGreenMap );
|
||||
_TIFFfree( panBlueMap );
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Allocate a buffer to hold a source block. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( bTiled )
|
||||
pabySrcTile = (unsigned char *) _TIFFmalloc(TIFFTileSize(hTIFF));
|
||||
else
|
||||
pabySrcTile = (unsigned char *) _TIFFmalloc(TIFFStripSize(hTIFF));
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Loop over the source raster, applying data to the */
|
||||
/* destination raster. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
for( nSYOff = 0; nSYOff < (int) nYSize; nSYOff += nBlockYSize )
|
||||
{
|
||||
for( nSXOff = 0; nSXOff < (int) nXSize; nSXOff += nBlockXSize )
|
||||
{
|
||||
/*
|
||||
* Read and resample into the various overview images.
|
||||
*/
|
||||
|
||||
TIFF_ProcessFullResBlock( hTIFF, nPlanarConfig,
|
||||
bSubsampled,nHorSubsampling,nVerSubsampling,
|
||||
nOverviews, panOvList,
|
||||
nBitsPerPixel, nSamples, papoRawBIs,
|
||||
nSXOff, nSYOff, pabySrcTile,
|
||||
nBlockXSize, nBlockYSize,
|
||||
nSampleFormat, pszResampleMethod );
|
||||
}
|
||||
}
|
||||
|
||||
_TIFFfree( pabySrcTile );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Cleanup the rawblockedimage files. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
for( i = 0; i < nOverviews; i++ )
|
||||
{
|
||||
TIFFDestroyOvrCache( papoRawBIs[i] );
|
||||
}
|
||||
|
||||
if( papoRawBIs != NULL )
|
||||
_TIFFfree( papoRawBIs );
|
||||
|
||||
TIFFSetWarningHandler( pfnWarning );
|
||||
}
|
||||
|
||||
|
|
@ -1,333 +0,0 @@
|
|||
/******************************************************************************
|
||||
* $Id: tif_ovrcache.c,v 1.6 2005/12/21 12:23:13 joris Exp $
|
||||
*
|
||||
* Project: TIFF Overview Builder
|
||||
* Purpose: Library functions to maintain two rows of tiles or two strips
|
||||
* of data for output overviews as an output cache.
|
||||
* Author: Frank Warmerdam, warmerdam@pobox.com
|
||||
*
|
||||
******************************************************************************
|
||||
* Copyright (c) 2000, Frank Warmerdam
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#include "tiffiop.h"
|
||||
#include "tif_ovrcache.h"
|
||||
#include <assert.h>
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFFCreateOvrCache() */
|
||||
/* */
|
||||
/* Create an overview cache to hold two rows of blocks from an */
|
||||
/* existing TIFF directory. */
|
||||
/************************************************************************/
|
||||
|
||||
TIFFOvrCache *TIFFCreateOvrCache( TIFF *hTIFF, int nDirOffset )
|
||||
|
||||
{
|
||||
TIFFOvrCache *psCache;
|
||||
uint32 nBaseDirOffset;
|
||||
|
||||
psCache = (TIFFOvrCache *) _TIFFmalloc(sizeof(TIFFOvrCache));
|
||||
psCache->nDirOffset = nDirOffset;
|
||||
psCache->hTIFF = hTIFF;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Get definition of this raster from the TIFF file itself. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
nBaseDirOffset = TIFFCurrentDirOffset( psCache->hTIFF );
|
||||
TIFFSetSubDirectory( hTIFF, nDirOffset );
|
||||
|
||||
TIFFGetField( hTIFF, TIFFTAG_IMAGEWIDTH, &(psCache->nXSize) );
|
||||
TIFFGetField( hTIFF, TIFFTAG_IMAGELENGTH, &(psCache->nYSize) );
|
||||
|
||||
TIFFGetField( hTIFF, TIFFTAG_BITSPERSAMPLE, &(psCache->nBitsPerPixel) );
|
||||
TIFFGetField( hTIFF, TIFFTAG_SAMPLESPERPIXEL, &(psCache->nSamples) );
|
||||
TIFFGetField( hTIFF, TIFFTAG_PLANARCONFIG, &(psCache->nPlanarConfig) );
|
||||
|
||||
if( !TIFFIsTiled( hTIFF ) )
|
||||
{
|
||||
TIFFGetField( hTIFF, TIFFTAG_ROWSPERSTRIP, &(psCache->nBlockYSize) );
|
||||
psCache->nBlockXSize = psCache->nXSize;
|
||||
psCache->nBytesPerBlock = TIFFStripSize(hTIFF);
|
||||
psCache->bTiled = FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
TIFFGetField( hTIFF, TIFFTAG_TILEWIDTH, &(psCache->nBlockXSize) );
|
||||
TIFFGetField( hTIFF, TIFFTAG_TILELENGTH, &(psCache->nBlockYSize) );
|
||||
psCache->nBytesPerBlock = TIFFTileSize(hTIFF);
|
||||
psCache->bTiled = TRUE;
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Compute some values from this. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
psCache->nBlocksPerRow = (psCache->nXSize + psCache->nBlockXSize - 1)
|
||||
/ psCache->nBlockXSize;
|
||||
psCache->nBlocksPerColumn = (psCache->nYSize + psCache->nBlockYSize - 1)
|
||||
/ psCache->nBlockYSize;
|
||||
|
||||
if (psCache->nPlanarConfig == PLANARCONFIG_SEPARATE)
|
||||
psCache->nBytesPerRow = psCache->nBytesPerBlock
|
||||
* psCache->nBlocksPerRow * psCache->nSamples;
|
||||
else
|
||||
psCache->nBytesPerRow =
|
||||
psCache->nBytesPerBlock * psCache->nBlocksPerRow;
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Allocate and initialize the data buffers. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
psCache->pabyRow1Blocks =
|
||||
(unsigned char *) _TIFFmalloc(psCache->nBytesPerRow);
|
||||
psCache->pabyRow2Blocks =
|
||||
(unsigned char *) _TIFFmalloc(psCache->nBytesPerRow);
|
||||
|
||||
if( psCache->pabyRow1Blocks == NULL
|
||||
|| psCache->pabyRow2Blocks == NULL )
|
||||
{
|
||||
TIFFErrorExt( hTIFF->tif_clientdata, hTIFF->tif_name,
|
||||
"Can't allocate memory for overview cache." );
|
||||
/* TODO: use of TIFFError is inconsistent with use of fprintf in addtiffo.c, sort out */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
_TIFFmemset( psCache->pabyRow1Blocks, 0, psCache->nBytesPerRow );
|
||||
_TIFFmemset( psCache->pabyRow2Blocks, 0, psCache->nBytesPerRow );
|
||||
|
||||
psCache->nBlockOffset = 0;
|
||||
|
||||
TIFFSetSubDirectory( psCache->hTIFF, nBaseDirOffset );
|
||||
|
||||
return psCache;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFFWriteOvrRow() */
|
||||
/* */
|
||||
/* Write one entire row of blocks (row 1) to the tiff file, and */
|
||||
/* then rotate the block buffers, essentially moving things */
|
||||
/* down by one block. */
|
||||
/************************************************************************/
|
||||
|
||||
static void TIFFWriteOvrRow( TIFFOvrCache * psCache )
|
||||
|
||||
{
|
||||
int nRet, iTileX, iTileY = psCache->nBlockOffset;
|
||||
unsigned char *pabyData;
|
||||
uint32 nBaseDirOffset;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* If the output cache is multi-byte per sample, and the file */
|
||||
/* being written to is of a different byte order than the current */
|
||||
/* platform, we will need to byte swap the data. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
if( TIFFIsByteSwapped(psCache->hTIFF) )
|
||||
{
|
||||
if( psCache->nBitsPerPixel == 16 )
|
||||
TIFFSwabArrayOfShort( (uint16 *) psCache->pabyRow1Blocks,
|
||||
(psCache->nBytesPerBlock * psCache->nSamples) / 2 );
|
||||
|
||||
else if( psCache->nBitsPerPixel == 32 )
|
||||
TIFFSwabArrayOfLong( (uint32 *) psCache->pabyRow1Blocks,
|
||||
(psCache->nBytesPerBlock * psCache->nSamples) / 4 );
|
||||
|
||||
else if( psCache->nBitsPerPixel == 64 )
|
||||
TIFFSwabArrayOfDouble( (double *) psCache->pabyRow1Blocks,
|
||||
(psCache->nBytesPerBlock * psCache->nSamples) / 8 );
|
||||
}
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Record original directory position, so we can restore it at */
|
||||
/* end. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
nBaseDirOffset = TIFFCurrentDirOffset( psCache->hTIFF );
|
||||
nRet = TIFFSetSubDirectory( psCache->hTIFF, psCache->nDirOffset );
|
||||
assert( nRet == 1 );
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Write blocks to TIFF file. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
for( iTileX = 0; iTileX < psCache->nBlocksPerRow; iTileX++ )
|
||||
{
|
||||
int nTileID;
|
||||
|
||||
if (psCache->nPlanarConfig == PLANARCONFIG_SEPARATE)
|
||||
{
|
||||
int iSample;
|
||||
|
||||
for( iSample = 0; iSample < psCache->nSamples; iSample++ )
|
||||
{
|
||||
pabyData = TIFFGetOvrBlock( psCache, iTileX, iTileY, iSample );
|
||||
|
||||
if( psCache->bTiled )
|
||||
{
|
||||
nTileID =
|
||||
TIFFComputeTile( psCache->hTIFF,
|
||||
iTileX * psCache->nBlockXSize,
|
||||
iTileY * psCache->nBlockYSize,
|
||||
0, (tsample_t) iSample );
|
||||
TIFFWriteEncodedTile( psCache->hTIFF, nTileID,
|
||||
pabyData,
|
||||
TIFFTileSize(psCache->hTIFF) );
|
||||
}
|
||||
else
|
||||
{
|
||||
nTileID =
|
||||
TIFFComputeStrip( psCache->hTIFF,
|
||||
iTileY * psCache->nBlockYSize,
|
||||
(tsample_t) iSample );
|
||||
|
||||
TIFFWriteEncodedStrip( psCache->hTIFF, nTileID,
|
||||
pabyData,
|
||||
TIFFStripSize(psCache->hTIFF) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
pabyData = TIFFGetOvrBlock( psCache, iTileX, iTileY, 0 );
|
||||
|
||||
if( psCache->bTiled )
|
||||
{
|
||||
nTileID =
|
||||
TIFFComputeTile( psCache->hTIFF,
|
||||
iTileX * psCache->nBlockXSize,
|
||||
iTileY * psCache->nBlockYSize,
|
||||
0, 0 );
|
||||
TIFFWriteEncodedTile( psCache->hTIFF, nTileID,
|
||||
pabyData,
|
||||
TIFFTileSize(psCache->hTIFF) );
|
||||
}
|
||||
else
|
||||
{
|
||||
nTileID =
|
||||
TIFFComputeStrip( psCache->hTIFF,
|
||||
iTileY * psCache->nBlockYSize,
|
||||
0 );
|
||||
|
||||
TIFFWriteEncodedStrip( psCache->hTIFF, nTileID,
|
||||
pabyData,
|
||||
TIFFStripSize(psCache->hTIFF) );
|
||||
}
|
||||
}
|
||||
}
|
||||
/* TODO: add checks on error status return of TIFFWriteEncodedTile and TIFFWriteEncodedStrip */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Rotate buffers. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
pabyData = psCache->pabyRow1Blocks;
|
||||
psCache->pabyRow1Blocks = psCache->pabyRow2Blocks;
|
||||
psCache->pabyRow2Blocks = pabyData;
|
||||
|
||||
_TIFFmemset( pabyData, 0, psCache->nBytesPerRow );
|
||||
|
||||
psCache->nBlockOffset++;
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/* Restore access to original directory. */
|
||||
/* -------------------------------------------------------------------- */
|
||||
TIFFFlush( psCache->hTIFF );
|
||||
/* TODO: add checks on error status return of TIFFFlush */
|
||||
TIFFSetSubDirectory( psCache->hTIFF, nBaseDirOffset );
|
||||
/* TODO: add checks on error status return of TIFFSetSubDirectory */
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFFGetOvrBlock() */
|
||||
/************************************************************************/
|
||||
|
||||
/* TODO: make TIFF_Downsample handle iSample offset, so that we can
|
||||
* do with a single TIFFGetOvrBlock and no longer need TIFFGetOvrBlock_Subsampled */
|
||||
unsigned char *TIFFGetOvrBlock( TIFFOvrCache *psCache, int iTileX, int iTileY,
|
||||
int iSample )
|
||||
|
||||
{
|
||||
int nRowOffset;
|
||||
|
||||
if( iTileY > psCache->nBlockOffset + 1 )
|
||||
TIFFWriteOvrRow( psCache );
|
||||
|
||||
assert( iTileX >= 0 && iTileX < psCache->nBlocksPerRow );
|
||||
assert( iTileY >= 0 && iTileY < psCache->nBlocksPerColumn );
|
||||
assert( iTileY >= psCache->nBlockOffset
|
||||
&& iTileY < psCache->nBlockOffset+2 );
|
||||
assert( iSample >= 0 && iSample < psCache->nSamples );
|
||||
|
||||
if (psCache->nPlanarConfig == PLANARCONFIG_SEPARATE)
|
||||
nRowOffset = ((iTileX * psCache->nSamples) + iSample)
|
||||
* psCache->nBytesPerBlock;
|
||||
else
|
||||
nRowOffset = iTileX * psCache->nBytesPerBlock +
|
||||
(psCache->nBitsPerPixel + 7) / 8 * iSample;
|
||||
|
||||
if( iTileY == psCache->nBlockOffset )
|
||||
return psCache->pabyRow1Blocks + nRowOffset;
|
||||
else
|
||||
return psCache->pabyRow2Blocks + nRowOffset;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFFGetOvrBlock_Subsampled() */
|
||||
/************************************************************************/
|
||||
|
||||
unsigned char *TIFFGetOvrBlock_Subsampled( TIFFOvrCache *psCache,
|
||||
int iTileX, int iTileY )
|
||||
|
||||
{
|
||||
int nRowOffset;
|
||||
|
||||
if( iTileY > psCache->nBlockOffset + 1 )
|
||||
TIFFWriteOvrRow( psCache );
|
||||
|
||||
assert( iTileX >= 0 && iTileX < psCache->nBlocksPerRow );
|
||||
assert( iTileY >= 0 && iTileY < psCache->nBlocksPerColumn );
|
||||
assert( iTileY >= psCache->nBlockOffset
|
||||
&& iTileY < psCache->nBlockOffset+2 );
|
||||
assert( psCache->nPlanarConfig != PLANARCONFIG_SEPARATE );
|
||||
|
||||
nRowOffset = iTileX * psCache->nBytesPerBlock;
|
||||
|
||||
if( iTileY == psCache->nBlockOffset )
|
||||
return psCache->pabyRow1Blocks + nRowOffset;
|
||||
else
|
||||
return psCache->pabyRow2Blocks + nRowOffset;
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
/* TIFFDestroyOvrCache() */
|
||||
/************************************************************************/
|
||||
|
||||
void TIFFDestroyOvrCache( TIFFOvrCache * psCache )
|
||||
|
||||
{
|
||||
while( psCache->nBlockOffset < psCache->nBlocksPerColumn )
|
||||
TIFFWriteOvrRow( psCache );
|
||||
|
||||
_TIFFfree( psCache->pabyRow1Blocks );
|
||||
_TIFFfree( psCache->pabyRow2Blocks );
|
||||
_TIFFfree( psCache );
|
||||
}
|
|
@ -1,101 +0,0 @@
|
|||
/******************************************************************************
|
||||
* tif_ovrcache.h,v 1.3 2005/05/25 09:03:16 dron Exp
|
||||
*
|
||||
* Project: TIFF Overview Builder
|
||||
* Purpose: Library functions to maintain two rows of tiles or two strips
|
||||
* of data for output overviews as an output cache.
|
||||
* Author: Frank Warmerdam, warmerdam@pobox.com
|
||||
*
|
||||
* This code could potentially be used by other applications wanting to
|
||||
* manage a once-through write cache.
|
||||
*
|
||||
******************************************************************************
|
||||
* Copyright (c) 2000, Frank Warmerdam
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the "Software"),
|
||||
* to deal in the Software without restriction, including without limitation
|
||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
* and/or sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef TIF_OVRCACHE_H_INCLUDED
|
||||
#define TIF_OVRCACHE_H_INCLUDED
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32 nXSize;
|
||||
uint32 nYSize;
|
||||
|
||||
uint16 nBitsPerPixel;
|
||||
uint16 nSamples;
|
||||
uint16 nPlanarConfig;
|
||||
uint32 nBlockXSize;
|
||||
uint32 nBlockYSize;
|
||||
uint32 nBytesPerBlock;
|
||||
uint32 nBytesPerRow;
|
||||
|
||||
int nBlocksPerRow;
|
||||
int nBlocksPerColumn;
|
||||
|
||||
int nBlockOffset; /* what block is the first in papabyBlocks? */
|
||||
unsigned char *pabyRow1Blocks;
|
||||
unsigned char *pabyRow2Blocks;
|
||||
|
||||
int nDirOffset;
|
||||
TIFF *hTIFF;
|
||||
int bTiled;
|
||||
|
||||
} TIFFOvrCache;
|
||||
|
||||
TIFFOvrCache *TIFFCreateOvrCache( TIFF *hTIFF, int nDirOffset );
|
||||
unsigned char *TIFFGetOvrBlock( TIFFOvrCache *psCache, int iTileX, int iTileY,
|
||||
int iSample );
|
||||
unsigned char *TIFFGetOvrBlock_Subsampled( TIFFOvrCache *psCache, int iTileX, int iTileY );
|
||||
void TIFFDestroyOvrCache( TIFFOvrCache * );
|
||||
|
||||
void TIFFBuildOverviews( TIFF *, int, int *, int, const char *,
|
||||
int (*)(double,void*), void * );
|
||||
|
||||
void TIFF_ProcessFullResBlock( TIFF *hTIFF, int nPlanarConfig,
|
||||
int bSubsampled, int nHorSamples, int nVerSamples,
|
||||
int nOverviews, int * panOvList,
|
||||
int nBitsPerPixel,
|
||||
int nSamples, TIFFOvrCache ** papoRawBIs,
|
||||
int nSXOff, int nSYOff,
|
||||
unsigned char *pabySrcTile,
|
||||
int nBlockXSize, int nBlockYSize,
|
||||
int nSampleFormat, const char * pszResampling );
|
||||
|
||||
uint32 TIFF_WriteOverview( TIFF *, int, int, int, int, int, int, int,
|
||||
int, int, int, int, unsigned short *,
|
||||
unsigned short *, unsigned short *, int,
|
||||
int, int);
|
||||
|
||||
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ndef TIF_OVRCACHE_H_INCLUDED */
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
SUBDIRS = xtiff
|
||||
|
||||
LIBTIFF = $(top_builddir)/libtiff/libtiff.la
|
||||
|
||||
EXTRA_DIST = README
|
||||
|
||||
noinst_PROGRAMS = tiff-bi tiff-grayscale tiff-palette tiff-rgb
|
||||
|
||||
tiff_bi_SOURCES = tiff-bi.c
|
||||
tiff_bi_LDADD = $(LIBTIFF)
|
||||
tiff_grayscale_SOURCES = tiff-grayscale.c
|
||||
tiff_grayscale_LDADD = $(LIBTIFF)
|
||||
tiff_palette_SOURCES = tiff-palette.c
|
||||
tiff_palette_LDADD = $(LIBTIFF)
|
||||
tiff_rgb_SOURCES = tiff-rgb.c
|
||||
tiff_rgb_LDADD = $(LIBTIFF)
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/libtiff
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
Wed May 9 09:11:35 PDT 1990
|
||||
|
||||
This directory contains programs from Dan Sears
|
||||
(dbs@decwrl.dec.com). Contact him directly if
|
||||
you have questions/problems.
|
||||
|
||||
Sam
|
|
@ -1,84 +0,0 @@
|
|||
/* $Id: tiff-bi.c,v 1.2 2004/05/03 16:46:36 dron Exp $ */
|
||||
|
||||
/*
|
||||
* tiff-bi.c -- create a Class B (bilevel) TIFF file
|
||||
*
|
||||
* Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted,
|
||||
* provided that the above copyright notice appear in all copies and that
|
||||
* both that copyright notice and this permission notice appear in
|
||||
* supporting documentation, and that the name of Digital not be
|
||||
* used in advertising or publicity pertaining to distribution of the
|
||||
* software without specific, written prior permission.
|
||||
*
|
||||
* DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
* DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#define WIDTH 512
|
||||
#define HEIGHT WIDTH
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
unsigned char * scan_line;
|
||||
TIFF * tif;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Usage: %s tiff-image\n", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ((tif = TIFFOpen(argv[1], "w")) == NULL) {
|
||||
fprintf(stderr, "can't open %s as a TIFF file\n", argv[1]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
|
||||
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
|
||||
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 1);
|
||||
TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
|
||||
TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
|
||||
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
|
||||
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
|
||||
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
|
||||
TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
|
||||
|
||||
scan_line = (unsigned char *) malloc(WIDTH / 8);
|
||||
|
||||
for (i = 0; i < (WIDTH / 8) / 2; i++)
|
||||
scan_line[i] = 0;
|
||||
|
||||
for (i = (WIDTH / 8) / 2; i < (WIDTH / 8); i++)
|
||||
scan_line[i] = 255;
|
||||
|
||||
for (i = 0; i < HEIGHT / 2; i++)
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
|
||||
for (i = 0; i < (WIDTH / 8) / 2; i++)
|
||||
scan_line[i] = 255;
|
||||
|
||||
for (i = (WIDTH / 8) / 2; i < (WIDTH / 8); i++)
|
||||
scan_line[i] = 0;
|
||||
|
||||
for (i = HEIGHT / 2; i < HEIGHT; i++)
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
|
||||
free(scan_line);
|
||||
TIFFClose(tif);
|
||||
return 0;
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
/* $Id: tiff-grayscale.c,v 1.4 2004/09/03 08:26:08 dron Exp $ */
|
||||
|
||||
/*
|
||||
* tiff-grayscale.c -- create a Class G (grayscale) TIFF file
|
||||
* with a gray response curve in linear optical density
|
||||
*
|
||||
* Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted,
|
||||
* provided that the above copyright notice appear in all copies and that
|
||||
* both that copyright notice and this permission notice appear in
|
||||
* supporting documentation, and that the name of Digital not be
|
||||
* used in advertising or publicity pertaining to distribution of the
|
||||
* software without specific, written prior permission.
|
||||
*
|
||||
* DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
* DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#define WIDTH 512
|
||||
#define HEIGHT WIDTH
|
||||
|
||||
char * programName;
|
||||
void Usage();
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int bits_per_pixel = 8, cmsize, i, j, k,
|
||||
gray_index, chunk_size = 32, nchunks = 16;
|
||||
unsigned char * scan_line;
|
||||
uint16 * gray;
|
||||
float refblackwhite[2*1];
|
||||
TIFF * tif;
|
||||
|
||||
programName = argv[0];
|
||||
|
||||
if (argc != 4)
|
||||
Usage();
|
||||
|
||||
if (!strcmp(argv[1], "-depth"))
|
||||
bits_per_pixel = atoi(argv[2]);
|
||||
else
|
||||
Usage();
|
||||
|
||||
switch (bits_per_pixel) {
|
||||
case 8:
|
||||
nchunks = 16;
|
||||
chunk_size = 32;
|
||||
break;
|
||||
case 4:
|
||||
nchunks = 4;
|
||||
chunk_size = 128;
|
||||
break;
|
||||
case 2:
|
||||
nchunks = 2;
|
||||
chunk_size = 256;
|
||||
break;
|
||||
default:
|
||||
Usage();
|
||||
}
|
||||
|
||||
cmsize = nchunks * nchunks;
|
||||
gray = (uint16 *) malloc(cmsize * sizeof(uint16));
|
||||
|
||||
gray[0] = 3000;
|
||||
for (i = 1; i < cmsize; i++)
|
||||
gray[i] = (uint16) (-log10((double) i / (cmsize - 1)) * 1000);
|
||||
|
||||
refblackwhite[0] = 0.0;
|
||||
refblackwhite[1] = (float)((1L<<bits_per_pixel) - 1);
|
||||
|
||||
if ((tif = TIFFOpen(argv[3], "w")) == NULL) {
|
||||
fprintf(stderr, "can't open %s as a TIFF file\n", argv[3]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
|
||||
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
|
||||
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bits_per_pixel);
|
||||
TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
|
||||
TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
|
||||
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
|
||||
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
|
||||
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
|
||||
TIFFSetField(tif, TIFFTAG_REFERENCEBLACKWHITE, refblackwhite);
|
||||
TIFFSetField(tif, TIFFTAG_TRANSFERFUNCTION, gray);
|
||||
TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
|
||||
|
||||
scan_line = (unsigned char *) malloc(WIDTH / (8 / bits_per_pixel));
|
||||
|
||||
for (i = 0; i < HEIGHT; i++) {
|
||||
for (j = 0, k = 0; j < WIDTH;) {
|
||||
gray_index = (j / chunk_size) + ((i / chunk_size) * nchunks);
|
||||
|
||||
switch (bits_per_pixel) {
|
||||
case 8:
|
||||
scan_line[k++] = gray_index;
|
||||
j++;
|
||||
break;
|
||||
case 4:
|
||||
scan_line[k++] = (gray_index << 4) + gray_index;
|
||||
j += 2;
|
||||
break;
|
||||
case 2:
|
||||
scan_line[k++] = (gray_index << 6) + (gray_index << 4)
|
||||
+ (gray_index << 2) + gray_index;
|
||||
j += 4;
|
||||
break;
|
||||
}
|
||||
}
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
}
|
||||
|
||||
free(scan_line);
|
||||
TIFFClose(tif);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
Usage()
|
||||
{
|
||||
fprintf(stderr, "Usage: %s -depth (8 | 4 | 2) tiff-image\n", programName);
|
||||
exit(0);
|
||||
}
|
|
@ -1,276 +0,0 @@
|
|||
/* $Id: tiff-palette.c,v 1.3 2004/09/03 08:27:20 dron Exp $ */
|
||||
|
||||
/*
|
||||
* tiff-palette.c -- create a Class P (palette) TIFF file
|
||||
*
|
||||
* Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted,
|
||||
* provided that the above copyright notice appear in all copies and that
|
||||
* both that copyright notice and this permission notice appear in
|
||||
* supporting documentation, and that the name of Digital not be
|
||||
* used in advertising or publicity pertaining to distribution of the
|
||||
* software without specific, written prior permission.
|
||||
*
|
||||
* DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
* DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#define WIDTH 512
|
||||
#define HEIGHT WIDTH
|
||||
#define SCALE(x) ((x) * 257L)
|
||||
|
||||
char * programName;
|
||||
void Usage();
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int bits_per_pixel = 8, cmsize, i, j, k,
|
||||
cmap_index, chunk_size = 32, nchunks = 16;
|
||||
unsigned char * scan_line;
|
||||
uint16 *red, *green, *blue;
|
||||
TIFF * tif;
|
||||
|
||||
programName = argv[0];
|
||||
|
||||
if (argc != 4)
|
||||
Usage();
|
||||
|
||||
if (!strcmp(argv[1], "-depth"))
|
||||
bits_per_pixel = atoi(argv[2]);
|
||||
else
|
||||
Usage();
|
||||
|
||||
switch (bits_per_pixel) {
|
||||
case 8:
|
||||
nchunks = 16;
|
||||
chunk_size = 32;
|
||||
break;
|
||||
case 4:
|
||||
nchunks = 4;
|
||||
chunk_size = 128;
|
||||
break;
|
||||
case 2:
|
||||
nchunks = 2;
|
||||
chunk_size = 256;
|
||||
break;
|
||||
case 1:
|
||||
nchunks = 2;
|
||||
chunk_size = 256;
|
||||
break;
|
||||
default:
|
||||
Usage();
|
||||
}
|
||||
|
||||
if (bits_per_pixel != 1) {
|
||||
cmsize = nchunks * nchunks;
|
||||
} else {
|
||||
cmsize = 2;
|
||||
}
|
||||
red = (uint16 *) malloc(cmsize * sizeof(uint16));
|
||||
green = (uint16 *) malloc(cmsize * sizeof(uint16));
|
||||
blue = (uint16 *) malloc(cmsize * sizeof(uint16));
|
||||
|
||||
switch (bits_per_pixel) {
|
||||
case 8:
|
||||
for (i = 0; i < cmsize; i++) {
|
||||
if (i < 32)
|
||||
red[i] = 0;
|
||||
else if (i < 64)
|
||||
red[i] = SCALE(36);
|
||||
else if (i < 96)
|
||||
red[i] = SCALE(73);
|
||||
else if (i < 128)
|
||||
red[i] = SCALE(109);
|
||||
else if (i < 160)
|
||||
red[i] = SCALE(146);
|
||||
else if (i < 192)
|
||||
red[i] = SCALE(182);
|
||||
else if (i < 224)
|
||||
red[i] = SCALE(219);
|
||||
else if (i < 256)
|
||||
red[i] = SCALE(255);
|
||||
|
||||
if ((i % 32) < 4)
|
||||
green[i] = 0;
|
||||
else if (i < 8)
|
||||
green[i] = SCALE(36);
|
||||
else if ((i % 32) < 12)
|
||||
green[i] = SCALE(73);
|
||||
else if ((i % 32) < 16)
|
||||
green[i] = SCALE(109);
|
||||
else if ((i % 32) < 20)
|
||||
green[i] = SCALE(146);
|
||||
else if ((i % 32) < 24)
|
||||
green[i] = SCALE(182);
|
||||
else if ((i % 32) < 28)
|
||||
green[i] = SCALE(219);
|
||||
else if ((i % 32) < 32)
|
||||
green[i] = SCALE(255);
|
||||
|
||||
if ((i % 4) == 0)
|
||||
blue[i] = SCALE(0);
|
||||
else if ((i % 4) == 1)
|
||||
blue[i] = SCALE(85);
|
||||
else if ((i % 4) == 2)
|
||||
blue[i] = SCALE(170);
|
||||
else if ((i % 4) == 3)
|
||||
blue[i] = SCALE(255);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
red[0] = SCALE(255);
|
||||
green[0] = 0;
|
||||
blue[0] = 0;
|
||||
|
||||
red[1] = 0;
|
||||
green[1] = SCALE(255);
|
||||
blue[1] = 0;
|
||||
|
||||
red[2] = 0;
|
||||
green[2] = 0;
|
||||
blue[2] = SCALE(255);
|
||||
|
||||
red[3] = SCALE(255);
|
||||
green[3] = SCALE(255);
|
||||
blue[3] = SCALE(255);
|
||||
|
||||
red[4] = 0;
|
||||
green[4] = SCALE(255);
|
||||
blue[4] = SCALE(255);
|
||||
|
||||
red[5] = SCALE(255);
|
||||
green[5] = 0;
|
||||
blue[5] = SCALE(255);
|
||||
|
||||
red[6] = SCALE(255);
|
||||
green[6] = SCALE(255);
|
||||
blue[6] = 0;
|
||||
|
||||
red[7] = 0;
|
||||
green[7] = 0;
|
||||
blue[7] = 0;
|
||||
|
||||
red[8] = SCALE(176);
|
||||
green[8] = SCALE(224);
|
||||
blue[8] = SCALE(230);
|
||||
red[9] = SCALE(100);
|
||||
green[9] = SCALE(149);
|
||||
blue[9] = SCALE(237);
|
||||
red[10] = SCALE(46);
|
||||
green[10] = SCALE(139);
|
||||
blue[10] = SCALE(87);
|
||||
red[11] = SCALE(160);
|
||||
green[11] = SCALE(82);
|
||||
blue[11] = SCALE(45);
|
||||
red[12] = SCALE(238);
|
||||
green[12] = SCALE(130);
|
||||
blue[12] = SCALE(238);
|
||||
red[13] = SCALE(176);
|
||||
green[13] = SCALE(48);
|
||||
blue[13] = SCALE(96);
|
||||
red[14] = SCALE(50);
|
||||
green[14] = SCALE(205);
|
||||
blue[14] = SCALE(50);
|
||||
red[15] = SCALE(240);
|
||||
green[15] = SCALE(152);
|
||||
blue[15] = SCALE(35);
|
||||
break;
|
||||
case 2:
|
||||
red[0] = SCALE(255);
|
||||
green[0] = 0;
|
||||
blue[0] = 0;
|
||||
|
||||
red[1] = 0;
|
||||
green[1] = SCALE(255);
|
||||
blue[1] = 0;
|
||||
|
||||
red[2] = 0;
|
||||
green[2] = 0;
|
||||
blue[2] = SCALE(255);
|
||||
red[3] = SCALE(255);
|
||||
green[3] = SCALE(255);
|
||||
blue[3] = SCALE(255);
|
||||
break;
|
||||
case 1:
|
||||
red[0] = 0;
|
||||
green[0] = 0;
|
||||
blue[0] = 0;
|
||||
|
||||
red[1] = SCALE(255);
|
||||
green[1] = SCALE(255);
|
||||
blue[1] = SCALE(255);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((tif = TIFFOpen(argv[3], "w")) == NULL) {
|
||||
fprintf(stderr, "can't open %s as a TIFF file\n", argv[3]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
|
||||
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
|
||||
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, bits_per_pixel);
|
||||
TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
|
||||
TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_PALETTE);
|
||||
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1);
|
||||
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
|
||||
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
|
||||
TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
|
||||
TIFFSetField(tif, TIFFTAG_COLORMAP, red, green, blue);
|
||||
|
||||
scan_line = (unsigned char *) malloc(WIDTH / (8 / bits_per_pixel));
|
||||
|
||||
for (i = 0; i < HEIGHT; i++) {
|
||||
for (j = 0, k = 0; j < WIDTH;) {
|
||||
cmap_index = (j / chunk_size) + ((i / chunk_size) * nchunks);
|
||||
|
||||
switch (bits_per_pixel) {
|
||||
case 8:
|
||||
scan_line[k++] = cmap_index;
|
||||
j++;
|
||||
break;
|
||||
case 4:
|
||||
scan_line[k++] = (cmap_index << 4) + cmap_index;
|
||||
j += 2;
|
||||
break;
|
||||
case 2:
|
||||
scan_line[k++] = (cmap_index << 6) + (cmap_index << 4)
|
||||
+ (cmap_index << 2) + cmap_index;
|
||||
j += 4;
|
||||
break;
|
||||
case 1:
|
||||
scan_line[k++] =
|
||||
((j / chunk_size) == (i / chunk_size)) ? 0x00 : 0xff;
|
||||
j += 8;
|
||||
break;
|
||||
}
|
||||
}
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
}
|
||||
|
||||
free(scan_line);
|
||||
TIFFClose(tif);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
Usage()
|
||||
{
|
||||
fprintf(stderr, "Usage: %s -depth (8 | 4 | 2 | 1) tiff-image\n", programName);
|
||||
exit(0);
|
||||
}
|
|
@ -1,194 +0,0 @@
|
|||
/* $Id: tiff-rgb.c,v 1.3 2004/09/03 08:29:16 dron Exp $ */
|
||||
|
||||
/*
|
||||
* tiff-rgb.c -- create a 24-bit Class R (rgb) TIFF file
|
||||
*
|
||||
* Copyright 1990 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted,
|
||||
* provided that the above copyright notice appear in all copies and that
|
||||
* both that copyright notice and this permission notice appear in
|
||||
* supporting documentation, and that the name of Digital not be
|
||||
* used in advertising or publicity pertaining to distribution of the
|
||||
* software without specific, written prior permission.
|
||||
*
|
||||
* DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
* DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
* ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#define ROUND(x) (uint16) ((x) + 0.5)
|
||||
#define CMSIZE 256
|
||||
#define WIDTH 525
|
||||
#define HEIGHT 512
|
||||
#define TIFF_GAMMA 2.2
|
||||
|
||||
void Usage();
|
||||
char * programName;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char * input_file = NULL;
|
||||
double image_gamma = TIFF_GAMMA;
|
||||
int i, j;
|
||||
TIFF * tif;
|
||||
unsigned char * scan_line;
|
||||
uint16 red[CMSIZE], green[CMSIZE], blue[CMSIZE];
|
||||
float refblackwhite[2*3];
|
||||
|
||||
programName = argv[0];
|
||||
|
||||
switch (argc) {
|
||||
case 2:
|
||||
image_gamma = TIFF_GAMMA;
|
||||
input_file = argv[1];
|
||||
break;
|
||||
case 4:
|
||||
if (!strcmp(argv[1], "-gamma")) {
|
||||
image_gamma = atof(argv[2]);
|
||||
input_file = argv[3];
|
||||
} else
|
||||
Usage();
|
||||
break;
|
||||
default:
|
||||
Usage();
|
||||
}
|
||||
|
||||
for (i = 0; i < CMSIZE; i++) {
|
||||
if (i == 0)
|
||||
red[i] = green[i] = blue[i] = 0;
|
||||
else {
|
||||
red[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
|
||||
green[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
|
||||
blue[i] = ROUND((pow(i / 255.0, 1.0 / image_gamma) * 65535.0));
|
||||
}
|
||||
}
|
||||
refblackwhite[0] = 0.0; refblackwhite[1] = 255.0;
|
||||
refblackwhite[2] = 0.0; refblackwhite[3] = 255.0;
|
||||
refblackwhite[4] = 0.0; refblackwhite[5] = 255.0;
|
||||
|
||||
if ((tif = TIFFOpen(input_file, "w")) == NULL) {
|
||||
fprintf(stderr, "can't open %s as a TIFF file\n", input_file);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, WIDTH);
|
||||
TIFFSetField(tif, TIFFTAG_IMAGELENGTH, HEIGHT);
|
||||
TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8);
|
||||
TIFFSetField(tif, TIFFTAG_COMPRESSION, COMPRESSION_NONE);
|
||||
TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB);
|
||||
TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 3);
|
||||
TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, 1);
|
||||
TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
|
||||
TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, RESUNIT_NONE);
|
||||
#ifdef notdef
|
||||
TIFFSetField(tif, TIFFTAG_WHITEPOINT, whitex, whitey);
|
||||
TIFFSetField(tif, TIFFTAG_PRIMARYCHROMATICITIES, primaries);
|
||||
#endif
|
||||
TIFFSetField(tif, TIFFTAG_REFERENCEBLACKWHITE, refblackwhite);
|
||||
TIFFSetField(tif, TIFFTAG_TRANSFERFUNCTION, red, green, blue);
|
||||
|
||||
scan_line = (unsigned char *) malloc(WIDTH * 3);
|
||||
|
||||
for (i = 0; i < 255; i++) {
|
||||
for (j = 0; j < 75; j++) {
|
||||
scan_line[j * 3] = 255;
|
||||
scan_line[(j * 3) + 1] = 255 - i;
|
||||
scan_line[(j * 3) + 2] = 255 - i;
|
||||
}
|
||||
for (j = 75; j < 150; j++) {
|
||||
scan_line[j * 3] = 255 - i;
|
||||
scan_line[(j * 3) + 1] = 255;
|
||||
scan_line[(j * 3) + 2] = 255 - i;
|
||||
}
|
||||
for (j = 150; j < 225; j++) {
|
||||
scan_line[j * 3] = 255 - i;
|
||||
scan_line[(j * 3) + 1] = 255 - i;
|
||||
scan_line[(j * 3) + 2] = 255;
|
||||
}
|
||||
for (j = 225; j < 300; j++) {
|
||||
scan_line[j * 3] = (i - 1) / 2;
|
||||
scan_line[(j * 3) + 1] = (i - 1) / 2;
|
||||
scan_line[(j * 3) + 2] = (i - 1) / 2;
|
||||
}
|
||||
for (j = 300; j < 375; j++) {
|
||||
scan_line[j * 3] = 255 - i;
|
||||
scan_line[(j * 3) + 1] = 255;
|
||||
scan_line[(j * 3) + 2] = 255;
|
||||
}
|
||||
for (j = 375; j < 450; j++) {
|
||||
scan_line[j * 3] = 255;
|
||||
scan_line[(j * 3) + 1] = 255 - i;
|
||||
scan_line[(j * 3) + 2] = 255;
|
||||
}
|
||||
for (j = 450; j < 525; j++) {
|
||||
scan_line[j * 3] = 255;
|
||||
scan_line[(j * 3) + 1] = 255;
|
||||
scan_line[(j * 3) + 2] = 255 - i;
|
||||
}
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
}
|
||||
for (i = 255; i < 512; i++) {
|
||||
for (j = 0; j < 75; j++) {
|
||||
scan_line[j * 3] = i;
|
||||
scan_line[(j * 3) + 1] = 0;
|
||||
scan_line[(j * 3) + 2] = 0;
|
||||
}
|
||||
for (j = 75; j < 150; j++) {
|
||||
scan_line[j * 3] = 0;
|
||||
scan_line[(j * 3) + 1] = i;
|
||||
scan_line[(j * 3) + 2] = 0;
|
||||
}
|
||||
for (j = 150; j < 225; j++) {
|
||||
scan_line[j * 3] = 0;
|
||||
scan_line[(j * 3) + 1] = 0;
|
||||
scan_line[(j * 3) + 2] = i;
|
||||
}
|
||||
for (j = 225; j < 300; j++) {
|
||||
scan_line[j * 3] = (i - 1) / 2;
|
||||
scan_line[(j * 3) + 1] = (i - 1) / 2;
|
||||
scan_line[(j * 3) + 2] = (i - 1) / 2;
|
||||
}
|
||||
for (j = 300; j < 375; j++) {
|
||||
scan_line[j * 3] = 0;
|
||||
scan_line[(j * 3) + 1] = i;
|
||||
scan_line[(j * 3) + 2] = i;
|
||||
}
|
||||
for (j = 375; j < 450; j++) {
|
||||
scan_line[j * 3] = i;
|
||||
scan_line[(j * 3) + 1] = 0;
|
||||
scan_line[(j * 3) + 2] = i;
|
||||
}
|
||||
for (j = 450; j < 525; j++) {
|
||||
scan_line[j * 3] = i;
|
||||
scan_line[(j * 3) + 1] = i;
|
||||
scan_line[(j * 3) + 2] = 0;
|
||||
}
|
||||
TIFFWriteScanline(tif, scan_line, i, 0);
|
||||
}
|
||||
|
||||
free(scan_line);
|
||||
TIFFClose(tif);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void
|
||||
Usage()
|
||||
{
|
||||
fprintf(stderr, "Usage: %s -gamma gamma tiff-image\n", programName);
|
||||
exit(0);
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
#
|
||||
# Imakefile -- to generate a Makefile for xtiff, use:
|
||||
# /usr/local/X11/mit/config/imake \
|
||||
# -I/usr/local/X11/mit/config \
|
||||
# -DTOPDIR=/usr/local/X11/mit \
|
||||
# -DCURDIR=/usr/local/X11/mit \
|
||||
# -DDESTDIR=/usr/local/X11/mit
|
||||
#
|
||||
|
||||
SYS_LIBRARIES = -lm
|
||||
LOCAL_LIBRARIES = XawClientLibs
|
||||
DEPLIBS = XawClientDepLibs
|
||||
TIFF = ../../../libtiff
|
||||
EXTRA_LIBRARIES = $(TIFF)/libtiff.so -lm
|
||||
EXTRA_INCLUDES = -I$(TIFF)
|
||||
|
||||
SimpleProgramTarget(xtiff)
|
|
@ -1,29 +0,0 @@
|
|||
# $Id: Makefile.am,v 1.2 2006/03/23 14:54:01 dron Exp $
|
||||
#
|
||||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
EXTRA_DIST = Imakefile README patchlevel.h xtiff.c xtifficon.h
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
xtiff 2.0
|
||||
|
||||
xtiff is a tool for viewing a TIFF file in an X window. It was written to
|
||||
handle as many different kinds of TIFF files as possible while remaining
|
||||
simple, portable and efficient. xtiff requires X11 R4, the Athena Widgets
|
||||
and Sam Leffler's libtiff package (which can be found on ucbvax.berkeley.edu).
|
|
@ -1 +0,0 @@
|
|||
#define PATCHLEVEL 0
|
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +0,0 @@
|
|||
#define xtifficon_width 32
|
||||
#define xtifficon_height 32
|
||||
static char xtifficon_bits[] = {
|
||||
0xff, 0x00, 0x00, 0xc0, 0xfe, 0x01, 0x7e, 0xc0, 0xfc, 0x03, 0x7e, 0x60,
|
||||
0xf8, 0x07, 0x06, 0x30, 0xf8, 0x07, 0x1e, 0x18, 0xf0, 0x0f, 0x1e, 0x0c,
|
||||
0xe0, 0x1f, 0x06, 0x06, 0xc0, 0x3f, 0x06, 0x06, 0xc0, 0x3f, 0x06, 0x03,
|
||||
0x80, 0x7f, 0x80, 0x01, 0x00, 0xff, 0xc0, 0x00, 0x00, 0xfe, 0x61, 0x00,
|
||||
0x00, 0xfe, 0x31, 0x7e, 0x7e, 0xfc, 0x33, 0x7e, 0x7e, 0xf8, 0x1b, 0x06,
|
||||
0x18, 0xf0, 0x0d, 0x1e, 0x18, 0xf0, 0x0e, 0x1e, 0x18, 0x60, 0x1f, 0x06,
|
||||
0x18, 0xb0, 0x3f, 0x06, 0x18, 0x98, 0x7f, 0x06, 0x18, 0x98, 0x7f, 0x00,
|
||||
0x00, 0x0c, 0xff, 0x00, 0x00, 0x06, 0xfe, 0x01, 0x00, 0x63, 0xfc, 0x03,
|
||||
0x80, 0x61, 0xfc, 0x03, 0xc0, 0x60, 0xf8, 0x07, 0xc0, 0x60, 0xf0, 0x0f,
|
||||
0x60, 0x60, 0xe0, 0x1f, 0x30, 0x60, 0xe0, 0x1f, 0x18, 0x60, 0xc0, 0x3f,
|
||||
0x0c, 0x60, 0x80, 0x7f, 0x06, 0x00, 0x00, 0xff};
|
|
@ -1,36 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
LIBTIFF = $(top_builddir)/libtiff/libtiff.la
|
||||
|
||||
EXTRA_DIST = README test.iptc test.txt
|
||||
|
||||
noinst_PROGRAMS = iptcutil
|
||||
|
||||
iptcutil_SOURCES = iptcutil.c
|
||||
iptcutil_LDADD = $(LIBTIFF)
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/libtiff
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
|
||||
Program: IPTCUTIL.C
|
||||
|
||||
Purpose: Convert between IPTC binary and a "special" IPTC text file format.
|
||||
|
||||
Usage: iptcutil -t | -b [-i file] [-o file] <input >output
|
||||
|
||||
Notes: You tell the program the "type" of input file via the -t and -b
|
||||
switches. The -t says that the input is text, while the -b says
|
||||
that the input is binary IPTC. You can use either the -i or the
|
||||
-o switches to tell the program what the input and output files
|
||||
will be, or use simple piping.
|
||||
|
||||
Author: William T. Radcliffe (billr@corbis.com)
|
||||
Parts of this program were derived from other places. The original
|
||||
binary to text conversion was taken from the PHP distribution and
|
||||
the tokenizer was written many years ago, by someone else as well.
|
||||
|
||||
This software is provided freely "as is", without warranty of any kind,
|
||||
express or implied, including but not limited to the warranties of
|
||||
merchantability, fitness for a particular purpose and noninfringement.
|
||||
In no event shall William T. Radcliffe be liable for any claim, damages or
|
||||
other liability, whether in an action of contract, tort or otherwise,
|
||||
arising from, out of or in connection with IPTCUTIL
|
||||
|
|
@ -1,934 +0,0 @@
|
|||
/* $Id: iptcutil.c,v 1.4 2004/09/21 13:34:39 dron Exp $ */
|
||||
|
||||
#include "tif_config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <memory.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#ifdef HAVE_STRINGS_H
|
||||
# include <strings.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_IO_H
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FCNTL_H
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#define STRNICMP strnicmp
|
||||
#else
|
||||
#define STRNICMP strncasecmp
|
||||
#endif
|
||||
|
||||
typedef struct _tag_spec
|
||||
{
|
||||
short
|
||||
id;
|
||||
|
||||
char
|
||||
*name;
|
||||
} tag_spec;
|
||||
|
||||
static tag_spec tags[] = {
|
||||
{ 5,"Image Name" },
|
||||
{ 7,"Edit Status" },
|
||||
{ 10,"Priority" },
|
||||
{ 15,"Category" },
|
||||
{ 20,"Supplemental Category" },
|
||||
{ 22,"Fixture Identifier" },
|
||||
{ 25,"Keyword" },
|
||||
{ 30,"Release Date" },
|
||||
{ 35,"Release Time" },
|
||||
{ 40,"Special Instructions" },
|
||||
{ 45,"Reference Service" },
|
||||
{ 47,"Reference Date" },
|
||||
{ 50,"Reference Number" },
|
||||
{ 55,"Created Date" },
|
||||
{ 60,"Created Time" },
|
||||
{ 65,"Originating Program" },
|
||||
{ 70,"Program Version" },
|
||||
{ 75,"Object Cycle" },
|
||||
{ 80,"Byline" },
|
||||
{ 85,"Byline Title" },
|
||||
{ 90,"City" },
|
||||
{ 95,"Province State" },
|
||||
{ 100,"Country Code" },
|
||||
{ 101,"Country" },
|
||||
{ 103,"Original Transmission Reference" },
|
||||
{ 105,"Headline" },
|
||||
{ 110,"Credit" },
|
||||
{ 115,"Source" },
|
||||
{ 116,"Copyright String" },
|
||||
{ 120,"Caption" },
|
||||
{ 121,"Local Caption" },
|
||||
{ 122,"Caption Writer" },
|
||||
{ 200,"Custom Field 1" },
|
||||
{ 201,"Custom Field 2" },
|
||||
{ 202,"Custom Field 3" },
|
||||
{ 203,"Custom Field 4" },
|
||||
{ 204,"Custom Field 5" },
|
||||
{ 205,"Custom Field 6" },
|
||||
{ 206,"Custom Field 7" },
|
||||
{ 207,"Custom Field 8" },
|
||||
{ 208,"Custom Field 9" },
|
||||
{ 209,"Custom Field 10" },
|
||||
{ 210,"Custom Field 11" },
|
||||
{ 211,"Custom Field 12" },
|
||||
{ 212,"Custom Field 13" },
|
||||
{ 213,"Custom Field 14" },
|
||||
{ 214,"Custom Field 15" },
|
||||
{ 215,"Custom Field 16" },
|
||||
{ 216,"Custom Field 17" },
|
||||
{ 217,"Custom Field 18" },
|
||||
{ 218,"Custom Field 19" },
|
||||
{ 219,"Custom Field 20" }
|
||||
};
|
||||
|
||||
/*
|
||||
* We format the output using HTML conventions
|
||||
* to preserve control characters and such.
|
||||
*/
|
||||
void formatString(FILE *ofile, const char *s, int len)
|
||||
{
|
||||
putc('"', ofile);
|
||||
for (; len > 0; --len, ++s) {
|
||||
int c = *s;
|
||||
switch (c) {
|
||||
case '&':
|
||||
fputs("&", ofile);
|
||||
break;
|
||||
#ifdef HANDLE_GT_LT
|
||||
case '<':
|
||||
fputs("<", ofile);
|
||||
break;
|
||||
case '>':
|
||||
fputs(">", ofile);
|
||||
break;
|
||||
#endif
|
||||
case '"':
|
||||
fputs(""", ofile);
|
||||
break;
|
||||
default:
|
||||
if (iscntrl(c))
|
||||
fprintf(ofile, "&#%d;", c);
|
||||
else
|
||||
putc(*s, ofile);
|
||||
break;
|
||||
}
|
||||
}
|
||||
fputs("\"\n", ofile);
|
||||
}
|
||||
|
||||
typedef struct _html_code
|
||||
{
|
||||
short
|
||||
len;
|
||||
const char
|
||||
*code,
|
||||
val;
|
||||
} html_code;
|
||||
|
||||
static html_code html_codes[] = {
|
||||
#ifdef HANDLE_GT_LT
|
||||
{ 4,"<",'<' },
|
||||
{ 4,">",'>' },
|
||||
#endif
|
||||
{ 5,"&",'&' },
|
||||
{ 6,""",'"' }
|
||||
};
|
||||
|
||||
/*
|
||||
* This routine converts HTML escape sequence
|
||||
* back to the original ASCII representation.
|
||||
* - returns the number of characters dropped.
|
||||
*/
|
||||
int convertHTMLcodes(char *s, int len)
|
||||
{
|
||||
if (len <=0 || s==(char*)NULL || *s=='\0')
|
||||
return 0;
|
||||
|
||||
if (s[1] == '#')
|
||||
{
|
||||
int val, o;
|
||||
|
||||
if (sscanf(s,"&#%d;",&val) == 1)
|
||||
{
|
||||
o = 3;
|
||||
while (s[o] != ';')
|
||||
{
|
||||
o++;
|
||||
if (o > 5)
|
||||
break;
|
||||
}
|
||||
if (o < 5)
|
||||
strcpy(s+1, s+1+o);
|
||||
*s = val;
|
||||
return o;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int
|
||||
i,
|
||||
codes = sizeof(html_codes) / sizeof(html_code);
|
||||
|
||||
for (i=0; i < codes; i++)
|
||||
{
|
||||
if (html_codes[i].len <= len)
|
||||
if (STRNICMP(s, html_codes[i].code, html_codes[i].len) == 0)
|
||||
{
|
||||
strcpy(s+1, s+html_codes[i].len);
|
||||
*s = html_codes[i].val;
|
||||
return html_codes[i].len-1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int formatIPTC(FILE *ifile, FILE *ofile)
|
||||
{
|
||||
unsigned int
|
||||
foundiptc,
|
||||
tagsfound;
|
||||
|
||||
unsigned char
|
||||
recnum,
|
||||
dataset;
|
||||
|
||||
char
|
||||
*readable,
|
||||
*str;
|
||||
|
||||
long
|
||||
tagindx,
|
||||
taglen;
|
||||
|
||||
int
|
||||
i,
|
||||
tagcount = sizeof(tags) / sizeof(tag_spec);
|
||||
|
||||
char
|
||||
c;
|
||||
|
||||
foundiptc = 0; /* found the IPTC-Header */
|
||||
tagsfound = 0; /* number of tags found */
|
||||
|
||||
c = getc(ifile);
|
||||
while (c != EOF)
|
||||
{
|
||||
if (c == 0x1c)
|
||||
foundiptc = 1;
|
||||
else
|
||||
{
|
||||
if (foundiptc)
|
||||
return -1;
|
||||
else
|
||||
continue;
|
||||
}
|
||||
|
||||
/* we found the 0x1c tag and now grab the dataset and record number tags */
|
||||
dataset = getc(ifile);
|
||||
if ((char) dataset == EOF)
|
||||
return -1;
|
||||
recnum = getc(ifile);
|
||||
if ((char) recnum == EOF)
|
||||
return -1;
|
||||
/* try to match this record to one of the ones in our named table */
|
||||
for (i=0; i< tagcount; i++)
|
||||
{
|
||||
if (tags[i].id == recnum)
|
||||
break;
|
||||
}
|
||||
if (i < tagcount)
|
||||
readable = tags[i].name;
|
||||
else
|
||||
readable = "";
|
||||
|
||||
/* then we decode the length of the block that follows - long or short fmt */
|
||||
c = getc(ifile);
|
||||
if (c == EOF)
|
||||
return 0;
|
||||
if (c & (unsigned char) 0x80)
|
||||
{
|
||||
unsigned char
|
||||
buffer[4];
|
||||
|
||||
for (i=0; i<4; i++)
|
||||
{
|
||||
c = buffer[i] = getc(ifile);
|
||||
if (c == EOF)
|
||||
return -1;
|
||||
}
|
||||
taglen = (((long) buffer[ 0 ]) << 24) |
|
||||
(((long) buffer[ 1 ]) << 16) |
|
||||
(((long) buffer[ 2 ]) << 8) |
|
||||
(((long) buffer[ 3 ]));
|
||||
}
|
||||
else
|
||||
{
|
||||
unsigned char
|
||||
x = c;
|
||||
|
||||
taglen = ((long) x) << 8;
|
||||
x = getc(ifile);
|
||||
if ((char)x == EOF)
|
||||
return -1;
|
||||
taglen |= (long) x;
|
||||
}
|
||||
/* make a buffer to hold the tag data and snag it from the input stream */
|
||||
str = (char *) malloc((unsigned int) (taglen+1));
|
||||
if (str == (char *) NULL)
|
||||
{
|
||||
printf("Memory allocation failed");
|
||||
return 0;
|
||||
}
|
||||
for (tagindx=0; tagindx<taglen; tagindx++)
|
||||
{
|
||||
c = str[tagindx] = getc(ifile);
|
||||
if (c == EOF)
|
||||
return -1;
|
||||
}
|
||||
str[ taglen ] = 0;
|
||||
|
||||
/* now finish up by formatting this binary data into ASCII equivalent */
|
||||
if (strlen(readable) > 0)
|
||||
fprintf(ofile, "%d#%d#%s=",(unsigned int)dataset, (unsigned int) recnum, readable);
|
||||
else
|
||||
fprintf(ofile, "%d#%d=",(unsigned int)dataset, (unsigned int) recnum);
|
||||
formatString( ofile, str, taglen );
|
||||
free(str);
|
||||
|
||||
tagsfound++;
|
||||
|
||||
c = getc(ifile);
|
||||
}
|
||||
return tagsfound;
|
||||
}
|
||||
|
||||
int tokenizer(unsigned inflag,char *token,int tokmax,char *line,
|
||||
char *white,char *brkchar,char *quote,char eschar,char *brkused,
|
||||
int *next,char *quoted);
|
||||
|
||||
char *super_fgets(char *b, int *blen, FILE *file)
|
||||
{
|
||||
int
|
||||
c,
|
||||
len;
|
||||
|
||||
char
|
||||
*q;
|
||||
|
||||
len=*blen;
|
||||
for (q=b; ; q++)
|
||||
{
|
||||
c=fgetc(file);
|
||||
if (c == EOF || c == '\n')
|
||||
break;
|
||||
if (((int)q - (int)b + 1 ) >= (int) len)
|
||||
{
|
||||
int
|
||||
tlen;
|
||||
|
||||
tlen=(int)q-(int)b;
|
||||
len<<=1;
|
||||
b=(char *) realloc((char *) b,(len+2));
|
||||
if ((char *) b == (char *) NULL)
|
||||
break;
|
||||
q=b+tlen;
|
||||
}
|
||||
*q=(unsigned char) c;
|
||||
}
|
||||
*blen=0;
|
||||
if ((unsigned char *)b != (unsigned char *) NULL)
|
||||
{
|
||||
int
|
||||
tlen;
|
||||
|
||||
tlen=(int)q - (int)b;
|
||||
if (tlen == 0)
|
||||
return (char *) NULL;
|
||||
b[tlen] = '\0';
|
||||
*blen=++tlen;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
#define BUFFER_SZ 4096
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
unsigned int
|
||||
length;
|
||||
|
||||
unsigned char
|
||||
*buffer;
|
||||
|
||||
int
|
||||
i,
|
||||
mode; /* iptc binary, or iptc text */
|
||||
|
||||
FILE
|
||||
*ifile = stdin,
|
||||
*ofile = stdout;
|
||||
|
||||
char
|
||||
c,
|
||||
*usage = "usage: iptcutil -t | -b [-i file] [-o file] <input >output";
|
||||
|
||||
if( argc < 2 )
|
||||
{
|
||||
printf(usage);
|
||||
return 1;
|
||||
}
|
||||
|
||||
mode = 0;
|
||||
length = -1;
|
||||
buffer = (unsigned char *)NULL;
|
||||
|
||||
for (i=1; i<argc; i++)
|
||||
{
|
||||
c = argv[i][0];
|
||||
if (c == '-' || c == '/')
|
||||
{
|
||||
c = argv[i][1];
|
||||
switch( c )
|
||||
{
|
||||
case 't':
|
||||
mode = 1;
|
||||
#ifdef WIN32
|
||||
/* Set "stdout" to binary mode: */
|
||||
_setmode( _fileno( ofile ), _O_BINARY );
|
||||
#endif
|
||||
break;
|
||||
case 'b':
|
||||
mode = 0;
|
||||
#ifdef WIN32
|
||||
/* Set "stdin" to binary mode: */
|
||||
_setmode( _fileno( ifile ), _O_BINARY );
|
||||
#endif
|
||||
break;
|
||||
case 'i':
|
||||
if (mode == 0)
|
||||
ifile = fopen(argv[++i], "rb");
|
||||
else
|
||||
ifile = fopen(argv[++i], "rt");
|
||||
if (ifile == (FILE *)NULL)
|
||||
{
|
||||
printf("Unable to open: %s\n", argv[i]);
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 'o':
|
||||
if (mode == 0)
|
||||
ofile = fopen(argv[++i], "wt");
|
||||
else
|
||||
ofile = fopen(argv[++i], "wb");
|
||||
if (ofile == (FILE *)NULL)
|
||||
{
|
||||
printf("Unable to open: %s\n", argv[i]);
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("Unknown option: %s\n", argv[i]);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(usage);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (mode == 0) /* handle binary iptc info */
|
||||
formatIPTC(ifile, ofile);
|
||||
|
||||
if (mode == 1) /* handle text form of iptc info */
|
||||
{
|
||||
char
|
||||
brkused,
|
||||
quoted,
|
||||
*line,
|
||||
*token,
|
||||
*newstr;
|
||||
|
||||
int
|
||||
state,
|
||||
next;
|
||||
|
||||
unsigned char
|
||||
recnum = 0,
|
||||
dataset = 0;
|
||||
|
||||
int
|
||||
inputlen = BUFFER_SZ;
|
||||
|
||||
line = (char *) malloc(inputlen);
|
||||
token = (char *)NULL;
|
||||
while((line = super_fgets(line,&inputlen,ifile))!=NULL)
|
||||
{
|
||||
state=0;
|
||||
next=0;
|
||||
|
||||
token = (char *) malloc(inputlen);
|
||||
newstr = (char *) malloc(inputlen);
|
||||
while(tokenizer(0, token, inputlen, line, "", "=", "\"", 0,
|
||||
&brkused,&next,"ed)==0)
|
||||
{
|
||||
if (state == 0)
|
||||
{
|
||||
int
|
||||
state,
|
||||
next;
|
||||
|
||||
char
|
||||
brkused,
|
||||
quoted;
|
||||
|
||||
state=0;
|
||||
next=0;
|
||||
while(tokenizer(0, newstr, inputlen, token, "", "#", "", 0,
|
||||
&brkused, &next, "ed)==0)
|
||||
{
|
||||
if (state == 0)
|
||||
dataset = (unsigned char) atoi(newstr);
|
||||
else
|
||||
if (state == 1)
|
||||
recnum = (unsigned char) atoi(newstr);
|
||||
state++;
|
||||
}
|
||||
}
|
||||
else
|
||||
if (state == 1)
|
||||
{
|
||||
int
|
||||
next;
|
||||
|
||||
unsigned long
|
||||
len;
|
||||
|
||||
char
|
||||
brkused,
|
||||
quoted;
|
||||
|
||||
next=0;
|
||||
len = strlen(token);
|
||||
while(tokenizer(0, newstr, inputlen, token, "", "&", "", 0,
|
||||
&brkused, &next, "ed)==0)
|
||||
{
|
||||
if (brkused && next > 0)
|
||||
{
|
||||
char
|
||||
*s = &token[next-1];
|
||||
|
||||
len -= convertHTMLcodes(s, strlen(s));
|
||||
}
|
||||
}
|
||||
|
||||
fputc(0x1c, ofile);
|
||||
fputc(dataset, ofile);
|
||||
fputc(recnum, ofile);
|
||||
if (len < 0x10000)
|
||||
{
|
||||
fputc((len >> 8) & 255, ofile);
|
||||
fputc(len & 255, ofile);
|
||||
}
|
||||
else
|
||||
{
|
||||
fputc(((len >> 24) & 255) | 0x80, ofile);
|
||||
fputc((len >> 16) & 255, ofile);
|
||||
fputc((len >> 8) & 255, ofile);
|
||||
fputc(len & 255, ofile);
|
||||
}
|
||||
next=0;
|
||||
while (len--)
|
||||
fputc(token[next++], ofile);
|
||||
}
|
||||
state++;
|
||||
}
|
||||
free(token);
|
||||
token = (char *)NULL;
|
||||
free(newstr);
|
||||
newstr = (char *)NULL;
|
||||
}
|
||||
free(line);
|
||||
|
||||
fclose( ifile );
|
||||
fclose( ofile );
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
This routine is a generalized, finite state token parser. It allows
|
||||
you extract tokens one at a time from a string of characters. The
|
||||
characters used for white space, for break characters, and for quotes
|
||||
can be specified. Also, characters in the string can be preceded by
|
||||
a specifiable escape character which removes any special meaning the
|
||||
character may have.
|
||||
|
||||
There are a lot of formal parameters in this subroutine call, but
|
||||
once you get familiar with them, this routine is fairly easy to use.
|
||||
"#define" macros can be used to generate simpler looking calls for
|
||||
commonly used applications of this routine.
|
||||
|
||||
First, some terminology:
|
||||
|
||||
token: used here, a single unit of information in
|
||||
the form of a group of characters.
|
||||
|
||||
white space: space that gets ignored (except within quotes
|
||||
or when escaped), like blanks and tabs. in
|
||||
addition, white space terminates a non-quoted
|
||||
token.
|
||||
|
||||
break character: a character that separates non-quoted tokens.
|
||||
commas are a common break character. the
|
||||
usage of break characters to signal the end
|
||||
of a token is the same as that of white space,
|
||||
except multiple break characters with nothing
|
||||
or only white space between generate a null
|
||||
token for each two break characters together.
|
||||
|
||||
for example, if blank is set to be the white
|
||||
space and comma is set to be the break
|
||||
character, the line ...
|
||||
|
||||
A, B, C , , DEF
|
||||
|
||||
... consists of 5 tokens:
|
||||
|
||||
1) "A"
|
||||
2) "B"
|
||||
3) "C"
|
||||
4) "" (the null string)
|
||||
5) "DEF"
|
||||
|
||||
quote character: a character that, when surrounding a group
|
||||
of other characters, causes the group of
|
||||
characters to be treated as a single token,
|
||||
no matter how many white spaces or break
|
||||
characters exist in the group. also, a
|
||||
token always terminates after the closing
|
||||
quote. for example, if ' is the quote
|
||||
character, blank is white space, and comma
|
||||
is the break character, the following
|
||||
string ...
|
||||
|
||||
A, ' B, CD'EF GHI
|
||||
|
||||
... consists of 4 tokens:
|
||||
|
||||
1) "A"
|
||||
2) " B, CD" (note the blanks & comma)
|
||||
3) "EF"
|
||||
4) "GHI"
|
||||
|
||||
the quote characters themselves do
|
||||
not appear in the resultant tokens. the
|
||||
double quotes are delimiters i use here for
|
||||
documentation purposes only.
|
||||
|
||||
escape character: a character which itself is ignored but
|
||||
which causes the next character to be
|
||||
used as is. ^ and \ are often used as
|
||||
escape characters. an escape in the last
|
||||
position of the string gets treated as a
|
||||
"normal" (i.e., non-quote, non-white,
|
||||
non-break, and non-escape) character.
|
||||
for example, assume white space, break
|
||||
character, and quote are the same as in the
|
||||
above examples, and further, assume that
|
||||
^ is the escape character. then, in the
|
||||
string ...
|
||||
|
||||
ABC, ' DEF ^' GH' I ^ J K^ L ^
|
||||
|
||||
... there are 7 tokens:
|
||||
|
||||
1) "ABC"
|
||||
2) " DEF ' GH"
|
||||
3) "I"
|
||||
4) " " (a lone blank)
|
||||
5) "J"
|
||||
6) "K L"
|
||||
7) "^" (passed as is at end of line)
|
||||
|
||||
|
||||
OK, now that you have this background, here's how to call "tokenizer":
|
||||
|
||||
result=tokenizer(flag,token,maxtok,string,white,break,quote,escape,
|
||||
brkused,next,quoted)
|
||||
|
||||
result: 0 if we haven't reached EOS (end of string), and
|
||||
1 if we have (this is an "int").
|
||||
|
||||
flag: right now, only the low order 3 bits are used.
|
||||
1 => convert non-quoted tokens to upper case
|
||||
2 => convert non-quoted tokens to lower case
|
||||
0 => do not convert non-quoted tokens
|
||||
(this is a "char").
|
||||
|
||||
token: a character string containing the returned next token
|
||||
(this is a "char[]").
|
||||
|
||||
maxtok: the maximum size of "token". characters beyond
|
||||
"maxtok" are truncated (this is an "int").
|
||||
|
||||
string: the string to be parsed (this is a "char[]").
|
||||
|
||||
white: a string of the valid white spaces. example:
|
||||
|
||||
char whitesp[]={" \t"};
|
||||
|
||||
blank and tab will be valid white space (this is
|
||||
a "char[]").
|
||||
|
||||
break: a string of the valid break characters. example:
|
||||
|
||||
char breakch[]={";,"};
|
||||
|
||||
semicolon and comma will be valid break characters
|
||||
(this is a "char[]").
|
||||
|
||||
IMPORTANT: do not use the name "break" as a C
|
||||
variable, as this is a reserved word in C.
|
||||
|
||||
quote: a string of the valid quote characters. an example
|
||||
would be
|
||||
|
||||
char whitesp[]={"'\"");
|
||||
|
||||
(this causes single and double quotes to be valid)
|
||||
note that a token starting with one of these characters
|
||||
needs the same quote character to terminate it.
|
||||
|
||||
for example,
|
||||
|
||||
"ABC '
|
||||
|
||||
is unterminated, but
|
||||
|
||||
"DEF" and 'GHI'
|
||||
|
||||
are properly terminated. note that different quote
|
||||
characters can appear on the same line; only for
|
||||
a given token do the quote characters have to be
|
||||
the same (this is a "char[]").
|
||||
|
||||
escape: the escape character (NOT a string ... only one
|
||||
allowed). use zero if none is desired (this is
|
||||
a "char").
|
||||
|
||||
brkused: the break character used to terminate the current
|
||||
token. if the token was quoted, this will be the
|
||||
quote used. if the token is the last one on the
|
||||
line, this will be zero (this is a pointer to a
|
||||
"char").
|
||||
|
||||
next: this variable points to the first character of the
|
||||
next token. it gets reset by "tokenizer" as it steps
|
||||
through the string. set it to 0 upon initialization,
|
||||
and leave it alone after that. you can change it
|
||||
if you want to jump around in the string or re-parse
|
||||
from the beginning, but be careful (this is a
|
||||
pointer to an "int").
|
||||
|
||||
quoted: set to 1 (true) if the token was quoted and 0 (false)
|
||||
if not. you may need this information (for example:
|
||||
in C, a string with quotes around it is a character
|
||||
string, while one without is an identifier).
|
||||
|
||||
(this is a pointer to a "char").
|
||||
*/
|
||||
|
||||
/* states */
|
||||
|
||||
#define IN_WHITE 0
|
||||
#define IN_TOKEN 1
|
||||
#define IN_QUOTE 2
|
||||
#define IN_OZONE 3
|
||||
|
||||
int _p_state; /* current state */
|
||||
unsigned _p_flag; /* option flag */
|
||||
char _p_curquote; /* current quote char */
|
||||
int _p_tokpos; /* current token pos */
|
||||
|
||||
/* routine to find character in string ... used only by "tokenizer" */
|
||||
|
||||
int sindex(char ch,char *string)
|
||||
{
|
||||
char *cp;
|
||||
for(cp=string;*cp;++cp)
|
||||
if(ch==*cp)
|
||||
return (int)(cp-string); /* return postion of character */
|
||||
return -1; /* eol ... no match found */
|
||||
}
|
||||
|
||||
/* routine to store a character in a string ... used only by "tokenizer" */
|
||||
|
||||
void chstore(char *string,int max,char ch)
|
||||
{
|
||||
char c;
|
||||
if(_p_tokpos>=0&&_p_tokpos<max-1)
|
||||
{
|
||||
if(_p_state==IN_QUOTE)
|
||||
c=ch;
|
||||
else
|
||||
switch(_p_flag&3)
|
||||
{
|
||||
case 1: /* convert to upper */
|
||||
c=toupper(ch);
|
||||
break;
|
||||
|
||||
case 2: /* convert to lower */
|
||||
c=tolower(ch);
|
||||
break;
|
||||
|
||||
default: /* use as is */
|
||||
c=ch;
|
||||
break;
|
||||
}
|
||||
string[_p_tokpos++]=c;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
int tokenizer(unsigned inflag,char *token,int tokmax,char *line,
|
||||
char *white,char *brkchar,char *quote,char eschar,char *brkused,
|
||||
int *next,char *quoted)
|
||||
{
|
||||
int qp;
|
||||
char c,nc;
|
||||
|
||||
*brkused=0; /* initialize to null */
|
||||
*quoted=0; /* assume not quoted */
|
||||
|
||||
if(!line[*next]) /* if we're at end of line, indicate such */
|
||||
return 1;
|
||||
|
||||
_p_state=IN_WHITE; /* initialize state */
|
||||
_p_curquote=0; /* initialize previous quote char */
|
||||
_p_flag=inflag; /* set option flag */
|
||||
|
||||
for(_p_tokpos=0;(c=line[*next]);++(*next)) /* main loop */
|
||||
{
|
||||
if((qp=sindex(c,brkchar))>=0) /* break */
|
||||
{
|
||||
switch(_p_state)
|
||||
{
|
||||
case IN_WHITE: /* these are the same here ... */
|
||||
case IN_TOKEN: /* ... just get out */
|
||||
case IN_OZONE: /* ditto */
|
||||
++(*next);
|
||||
*brkused=brkchar[qp];
|
||||
goto byebye;
|
||||
|
||||
case IN_QUOTE: /* just keep going */
|
||||
chstore(token,tokmax,c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if((qp=sindex(c,quote))>=0) /* quote */
|
||||
{
|
||||
switch(_p_state)
|
||||
{
|
||||
case IN_WHITE: /* these are identical, */
|
||||
_p_state=IN_QUOTE; /* change states */
|
||||
_p_curquote=quote[qp]; /* save quote char */
|
||||
*quoted=1; /* set to true as long as something is in quotes */
|
||||
break;
|
||||
|
||||
case IN_QUOTE:
|
||||
if(quote[qp]==_p_curquote) /* same as the beginning quote? */
|
||||
{
|
||||
_p_state=IN_OZONE;
|
||||
_p_curquote=0;
|
||||
}
|
||||
else
|
||||
chstore(token,tokmax,c); /* treat as regular char */
|
||||
break;
|
||||
|
||||
case IN_TOKEN:
|
||||
case IN_OZONE:
|
||||
*brkused=c; /* uses quote as break char */
|
||||
goto byebye;
|
||||
}
|
||||
}
|
||||
else if((qp=sindex(c,white))>=0) /* white */
|
||||
{
|
||||
switch(_p_state)
|
||||
{
|
||||
case IN_WHITE:
|
||||
case IN_OZONE:
|
||||
break; /* keep going */
|
||||
|
||||
case IN_TOKEN:
|
||||
_p_state=IN_OZONE;
|
||||
break;
|
||||
|
||||
case IN_QUOTE:
|
||||
chstore(token,tokmax,c); /* it's valid here */
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(c==eschar) /* escape */
|
||||
{
|
||||
nc=line[(*next)+1];
|
||||
if(nc==0) /* end of line */
|
||||
{
|
||||
*brkused=0;
|
||||
chstore(token,tokmax,c);
|
||||
++(*next);
|
||||
goto byebye;
|
||||
}
|
||||
switch(_p_state)
|
||||
{
|
||||
case IN_WHITE:
|
||||
--(*next);
|
||||
_p_state=IN_TOKEN;
|
||||
break;
|
||||
|
||||
case IN_TOKEN:
|
||||
case IN_QUOTE:
|
||||
++(*next);
|
||||
chstore(token,tokmax,nc);
|
||||
break;
|
||||
|
||||
case IN_OZONE:
|
||||
goto byebye;
|
||||
}
|
||||
}
|
||||
else /* anything else is just a real character */
|
||||
{
|
||||
switch(_p_state)
|
||||
{
|
||||
case IN_WHITE:
|
||||
_p_state=IN_TOKEN; /* switch states */
|
||||
|
||||
case IN_TOKEN: /* these 2 are */
|
||||
case IN_QUOTE: /* identical here */
|
||||
chstore(token,tokmax,c);
|
||||
break;
|
||||
|
||||
case IN_OZONE:
|
||||
goto byebye;
|
||||
}
|
||||
}
|
||||
} /* end of main loop */
|
||||
|
||||
byebye:
|
||||
token[_p_tokpos]=0; /* make sure token ends with EOS */
|
||||
|
||||
return 0;
|
||||
}
|
Binary file not shown.
|
@ -1,32 +0,0 @@
|
|||
2#0="�"
|
||||
2#120#Caption="Chairman of the US House Judiciary Committee, Henry Hyde,R-IL, makes his opening statement during impeachment hearings 11 December on Capitol Hill in Washington, DC. The committee is debating the articles of impechment and my take a vote on the impeachment of US President BIll Clinton on charges that he obstucted justice, lied and abused the power of his office as early as today. AFP PHOTO Paul J. RICHARDS "
|
||||
2#122#Caption Writer="kb/lt"
|
||||
2#100#Country Code="USA"
|
||||
2#105#Headline="Old fart squeezing two fingers."
|
||||
2#30#Release Date="19981211"
|
||||
2#35#Release Time="000000+0000"
|
||||
2#40#Special Instructions="This is a test. This is only a test. ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890"
|
||||
2#80#Byline="PAUL J. RICHARDS"
|
||||
2#85#Byline Title="STF"
|
||||
2#110#Credit="AFP"
|
||||
2#65#Originating Program="MacDesk Reporter"
|
||||
2#115#Source="AFP"
|
||||
2#5#Image Name="US-HYDE"
|
||||
2#55#Created Date="19981211"
|
||||
2#90#City="WASHINGTON"
|
||||
2#95#Province State="DC"
|
||||
2#101#Country="UNITED STATES"
|
||||
2#103#Original Transmission Reference="DCA03"
|
||||
2#15#Category="POL"
|
||||
2#20#Supplemental Category="GOVERNMENT"
|
||||
2#10#Priority="5"
|
||||
2#25#Keyword="fart"
|
||||
2#25#Keyword="squeezing"
|
||||
2#25#Keyword="old"
|
||||
2#25#Keyword="fingers"
|
||||
2#75#Object Cycle="a"
|
||||
2#60#Created Time="000000+0000"
|
||||
2#70#Program Version="2.0.3"
|
||||
2#130="3S"
|
||||
2#135="GB"
|
||||
2#231="Kaya A. Hoffmann 12/14/98 12:00:44 PM Copy To : Selects - \\KINYANI\Selects������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������"
|
|
@ -1,27 +0,0 @@
|
|||
# Tag Image File Format (TIFF) Software
|
||||
#
|
||||
# Copyright (C) 2004, Andrey Kiselev <dron@ak4719.spb.edu>
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and
|
||||
# its documentation for any purpose is hereby granted without fee, provided
|
||||
# that (i) the above copyright notices and this permission notice appear in
|
||||
# all copies of the software and related documentation, and (ii) the names of
|
||||
# Sam Leffler and Silicon Graphics may not be used in any advertising or
|
||||
# publicity relating to the software without the specific, prior written
|
||||
# permission of Sam Leffler and Silicon Graphics.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
||||
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
||||
# ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
||||
# OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
# WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Process this file with automake to produce Makefile.in.
|
||||
|
||||
EXTRA_DIST = Makefile.script README mac_main.c mac_main.h metrowerks.note mkg3_main.c version.h
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
|
||||
(* You must manually set the top-level PATHNAME here; everything else is automatic *)
|
||||
|
||||
set PATHNAME to "ritter:tiff-v3.4beta028:"
|
||||
set PRINTING to "NO"
|
||||
|
||||
set MKG3STATES to PATHNAME & "mkg3states.mw"
|
||||
set LIBTIFF to PATHNAME & "libtiff-68K.mw"
|
||||
set TIFFINFO to PATHNAME & "tiffinfo.mw"
|
||||
|
||||
with timeout of 60000 seconds
|
||||
tell application "MW C/C++ 68K 1.2.2"
|
||||
|
||||
activate
|
||||
|
||||
|
||||
(* Create tif_fax3sm.c file *)
|
||||
Create Project {file MKG3STATES}
|
||||
Add Files {"mkg3states.c", "mkg3_main.c", "getopt.c"}
|
||||
Add Files {"MacOS.lib"} To Segment 2
|
||||
Add Files {"ANSI (4i/8d) C.68K.Lib"} To Segment 3
|
||||
Add Files {"SIOUX.68K.Lib"} To Segment 4
|
||||
Add Files {"MathLib68K (4i/8d).Lib"} To Segment 5
|
||||
|
||||
Set Preferences To {Activate CPlusPlus:false, ARM Conformance:false, ANSI Keywords Only:false, Require Function Prototypes:false, Expand Trigraph Sequences:false, Enums Always Ints:false, MPW Pointer Type Rules:false, Prefix File:"mac_main.h"}
|
||||
Set Preferences To {Illegal Pragmas:false, Empty Declarations:false, Possible Errors:false, Unused Variables:false, Unused Arguments:false, Extra Commas:false, Extended Error Checking:false}
|
||||
Set Preferences To {Code Model:2, Struct Alignment:0, MC68020 CodeGen:false, MC68881 CodeGen:false, Four Bytes Ints:true, Eight Byte Double:true, Peephole Optimizer:true, CSE Optimizer:true, Optimize For Size:true, Far Data:true, Use Profiler:false, Far Virtual Function Tables:false, Far String Constants:true}
|
||||
Set Preferences To {MacsBug Symbols:2, Generate SYM File:false, Full Path In Sym Files:true, Generate Link Map:false, Generate A6 Stack Frames:true, The Debugger Aware:false, Link Single Segment:false, Fast Link:true}
|
||||
Set Preferences To {Project Type:0, File Name:"mkg3states", File Creator:"????", File Type:"APPL"}
|
||||
|
||||
Make Project
|
||||
Run Project
|
||||
Remove Binaries
|
||||
Close Project
|
||||
|
||||
|
||||
(* Create LIBTIFF *)
|
||||
Create Project {file LIBTIFF}
|
||||
Add Files {"tif_apple.c", "tif_aux.c", "tif_close.c", "tif_codec.c", "tif_compress.c", "tif_dumpmode.c", "tif_error.c", "tif_flush.c", "tif_lzw.c", "tif_next.c", "tif_open.c", "tif_packbits.c"}
|
||||
Add Files {"tif_fax3.c"} To Segment 2
|
||||
Add Files {"tif_dirinfo.c", "tif_dir.c", "tif_dirwrite.c", "tif_dirread.c"} To Segment 3
|
||||
Add Files {"tif_predict.c", "tif_print.c", "tif_read.c", "tif_strip.c", "tif_swab.c", "tif_thunder.c", "tif_tile.c", "tif_version.c", "tif_zip.c", "tif_jpeg.c", "tif_warning.c", "tif_write.c"} To Segment 4
|
||||
Add Files {"tif_fax3sm.c"} To Segment 5
|
||||
Add Files {"tif_getimage.c"} To Segment 6
|
||||
|
||||
Set Preferences To {Activate CPlusPlus:false, ARM Conformance:false, ANSI Keywords Only:false, Require Function Prototypes:false, Expand Trigraph Sequences:false, Enums Always Ints:false, MPW Pointer Type Rules:false, Prefix File:"MacHeaders68K"}
|
||||
Set Preferences To {Illegal Pragmas:false, Empty Declarations:false, Possible Errors:false, Unused Variables:false, Unused Arguments:false, Extra Commas:false, Extended Error Checking:false}
|
||||
Set Preferences To {Code Model:2, Struct Alignment:0, MC68020 CodeGen:false, MC68881 CodeGen:false, Four Bytes Ints:true, Eight Byte Double:true, Peephole Optimizer:true, CSE Optimizer:true, Optimize For Size:true, Far Data:true, Use Profiler:false, Far Virtual Function Tables:false, Far String Constants:true}
|
||||
Set Preferences To {MacsBug Symbols:2, Generate SYM File:true, Full Path In Sym Files:true, Generate Link Map:false, Generate A6 Stack Frames:true, The Debugger Aware:false, Link Single Segment:false, Fast Link:true}
|
||||
Set Preferences To {Project Type:2, File Name:"libtiff-68K", File Creator:"????", File Type:"APPL"}
|
||||
Make Project
|
||||
Close Project
|
||||
|
||||
Create Project {file TIFFINFO}
|
||||
Add Files {"tiffinfo.c", "mac_main.c", "getopt.c"}
|
||||
Add Files {"MacOS.lib"} To Segment 2
|
||||
Add Files {"ANSI (4i/8d) C.68K.Lib"} To Segment 3
|
||||
Add Files {"SIOUX.68K.Lib"} To Segment 4
|
||||
Add Files {"MathLib68K (4i/8d).Lib"} To Segment 5
|
||||
Add Files {"libtiff-68K"} To Segment 6
|
||||
|
||||
Set Preferences To {Activate CPlusPlus:false, ARM Conformance:false, ANSI Keywords Only:false, Require Function Prototypes:false, Expand Trigraph Sequences:false, Enums Always Ints:false, MPW Pointer Type Rules:false, Prefix File:"mac_main.h"}
|
||||
Set Preferences To {Illegal Pragmas:false, Empty Declarations:false, Possible Errors:false, Unused Variables:false, Unused Arguments:false, Extra Commas:false, Extended Error Checking:false}
|
||||
Set Preferences To {Code Model:2, Struct Alignment:0, MC68020 CodeGen:false, MC68881 CodeGen:false, Four Bytes Ints:true, Eight Byte Double:true, Peephole Optimizer:true, CSE Optimizer:true, Optimize For Size:true, Far Data:true, Use Profiler:false, Far Virtual Function Tables:false, Far String Constants:true}
|
||||
Set Preferences To {MacsBug Symbols:2, Generate SYM File:false, Full Path In Sym Files:true, Generate Link Map:false, Generate A6 Stack Frames:true, The Debugger Aware:false, Link Single Segment:false, Fast Link:true}
|
||||
Set Preferences To {Project Type:0, File Name:"tiffinfo", File Creator:"????", File Type:"APPL"}
|
||||
|
||||
Make Project
|
||||
Close Project
|
||||
|
||||
end tell
|
||||
end timeout
|
|
@ -1,18 +0,0 @@
|
|||
----------------------------------------------------
|
||||
Build instructions for LIBTIFF - CodeWarrior (6.1):
|
||||
----------------------------------------------------
|
||||
|
||||
In this directory you will find a Makefile.script Applescript
|
||||
file, which should be run in order to build the libtiff code
|
||||
using MetroWerks CodeWarrior.
|
||||
|
||||
Refer to the "metrowerks.note" instructions on building the
|
||||
library for 68k and PowerPC native code, as well as building
|
||||
some of the libtiff tools, which are rather unix-like, but
|
||||
at least give an example of how to link everything together.
|
||||
|
||||
Questions, comments, bug reports to Niles Ritter
|
||||
(ndr@tazboy.jpl.nasa.gov). Sam Leffler takes no responsibility
|
||||
for the viability of this stuff.
|
||||
|
||||
-Niles.
|
|
@ -1,20 +0,0 @@
|
|||
/*
|
||||
* mac_main.c -- The REAL entry point which
|
||||
* calls the tools main code. For the tools
|
||||
* the symbol "main" has been #defined to "tool_main"
|
||||
* so that this entry point may be used to access
|
||||
* the user-input first.
|
||||
*/
|
||||
|
||||
#undef main
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
int argc;
|
||||
char **argv;
|
||||
|
||||
argc=ccommand(&argv);
|
||||
|
||||
return tool_main(argc,argv); // Call the tool "main()" routine
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
/*
|
||||
* mac_main.h -- redefines main entry point
|
||||
*/
|
||||
|
||||
#ifndef _mac_main_h
|
||||
#define _mac_main_h
|
||||
|
||||
#undef main
|
||||
#define main tool_main
|
||||
|
||||
#endif /* _mac_main_h */
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
----------------------------------------------------
|
||||
Build instructions for LIBTIFF - CodeWarrior (6.1):
|
||||
----------------------------------------------------
|
||||
|
||||
Note: there is a bug in CW earlier than 6.1 which will generate
|
||||
16-bit offset link errors for any projects using libtiff; you must
|
||||
download the CodeWarrior 6.1 patch located at:
|
||||
|
||||
ftp://ftp.metrowerks.com/pub/updates/metro-patches-61.hqx
|
||||
|
||||
unpack the archive, insert the files and recompile the libraries
|
||||
using the AppleScript provided.
|
||||
|
||||
|
||||
1. Make sure that the directory containing these files is under
|
||||
the "contrib" directory of the tiff folder; otherwise, some
|
||||
access path preferences will need to be updated.
|
||||
|
||||
2. The instructions below are for the 68k platform build.
|
||||
A similar script can be put together for the PPC version,
|
||||
or you can just directly convert the projects. Be sure to
|
||||
use the native libraries as well. NOTE: if anyone cooks
|
||||
up an equivalent script for PPC, send it to me and I'll include
|
||||
it with the rest of the package.
|
||||
|
||||
3. Open the file Makefile.script with an AppleScript Editor
|
||||
and change the PATHNAME variable to point to your
|
||||
top-level TIFF directory
|
||||
|
||||
4. Run the Script. It will do the following things:
|
||||
|
||||
4a. Prompt you for the current location of the CodeWarrior 68K
|
||||
program.
|
||||
|
||||
4b. Create the source file "tif_fax3sm.c":
|
||||
|
||||
i) Build the project CW project mkg3states.cw. It will
|
||||
produce a small program called mkg3states. Only a
|
||||
68k version is provided, since you only have to run
|
||||
this code once, and it only takes a few seconds.
|
||||
|
||||
ii) Run the built mkg3states program:
|
||||
|
||||
The program will temporarily take over ALL of the CPU, so
|
||||
don't panic. After a few seconds it will produce a file called
|
||||
"tif_fax3sm.c".
|
||||
|
||||
4c. Build the library project libtiff-68K.mw, producing library
|
||||
called libtiff-68K.
|
||||
|
||||
4d. Build program project tiffinfo.mw; it will produce a
|
||||
program called tiffinfo, which can dump the tiff tags of
|
||||
a named file. Passing in no arguments will dump a help file
|
||||
for the program. It is unix-flavored, but hey, it works.
|
||||
|
||||
5 When the script finishes, you will have a usable libtiff-68K
|
||||
library, a passable "tiffinfo" program, and the projects used
|
||||
to build them. Note that to get tiffinfo to work I have put
|
||||
an include file in the project that redefines main(), and
|
||||
then have a mac_main.c program that calls ccommand() first
|
||||
and passes that to the actual main code. A real mac app,
|
||||
of course, would never use this stuff at all...
|
||||
|
||||
. The tiffinfo.mw project may be used as a template to build
|
||||
most of the other libtiff tools, or your own code. When
|
||||
modifying a copy of the project, you will most likely need
|
||||
to update the "Access Paths" directory if it is moved out of
|
||||
the contrib folder.
|
||||
|
||||
6. If you are going to create a project from scratch, be sure
|
||||
to set up the preferences with
|
||||
|
||||
4-byte ints
|
||||
8-byte doubles
|
||||
Far Code/Far Data
|
||||
Large Linking model
|
||||
|
||||
and everything should work fine. If the console-style error
|
||||
reports bother you, you can always override the error and
|
||||
warning mechanism with TIFFSetErrorHandler to do something
|
||||
more Mac-like.
|
||||
|
||||
Questions, comments to Niles Ritter (ndr@tazboy.jpl.nasa.gov).
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
/*
|
||||
* mkg3_main.c -- passes fake arguments into main
|
||||
*/
|
||||
|
||||
#undef main
|
||||
|
||||
int
|
||||
main()
|
||||
{
|
||||
static char *argv[4] = {
|
||||
"mkg3states", "-c", "const", "tif_fax3sm.c" };
|
||||
|
||||
return tool_main(4,argv); // Call the tool "main()" routine
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
#define VERSION \
|
||||
"LIBTIFF, Version 3.4beta028 \n"\
|
||||
"Copyright (c) 1988-1995 Sam Leffler\n"\
|
||||
"Copyright (c) 1991-1996 Silicon Graphics, Inc."
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue