Allow to build libpng on more platforms

Add the hardware-specific source files to the build systems. Do not add MIPS
and PowerPC to MSVC build files, because these include <stdint.h> which is not
available for old MSVC versions.
This commit is contained in:
Maarten Bent
2020-04-19 14:49:10 +02:00
parent 287c1b1d11
commit f67a7c08f7
11 changed files with 236 additions and 6 deletions

View File

@@ -124,7 +124,16 @@ WXPNG_OBJECTS = \
wxpng_pngwio.o \
wxpng_pngwrite.o \
wxpng_pngwtran.o \
wxpng_pngwutil.o
wxpng_pngwutil.o \
wxpng_arm_init.o \
wxpng_filter_neon_intrinsics.o \
wxpng_palette_neon_intrinsics.o \
wxpng_intel_init.o \
wxpng_filter_sse2_intrinsics.o \
wxpng_filter_msa_intrinsics.o \
wxpng_mips_init.o \
wxpng_filter_vsx_intrinsics.o \
wxpng_powerpc_init.o
WXJPEG_CFLAGS = $(WX_CPPFLAGS) -DNDEBUG $(WX_CFLAGS) $(____SHARED) $(CPPFLAGS) \
$(CFLAGS)
WXJPEG_OBJECTS = \
@@ -14820,6 +14829,33 @@ wxpng_pngwtran.o: $(srcdir)/src/png/pngwtran.c
wxpng_pngwutil.o: $(srcdir)/src/png/pngwutil.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/pngwutil.c
wxpng_arm_init.o: $(srcdir)/src/png/arm/arm_init.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/arm_init.c
wxpng_filter_neon_intrinsics.o: $(srcdir)/src/png/arm/filter_neon_intrinsics.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/filter_neon_intrinsics.c
wxpng_palette_neon_intrinsics.o: $(srcdir)/src/png/arm/palette_neon_intrinsics.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/arm/palette_neon_intrinsics.c
wxpng_intel_init.o: $(srcdir)/src/png/intel/intel_init.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/intel/intel_init.c
wxpng_filter_sse2_intrinsics.o: $(srcdir)/src/png/intel/filter_sse2_intrinsics.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/intel/filter_sse2_intrinsics.c
wxpng_filter_msa_intrinsics.o: $(srcdir)/src/png/mips/filter_msa_intrinsics.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/mips/filter_msa_intrinsics.c
wxpng_mips_init.o: $(srcdir)/src/png/mips/mips_init.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/mips/mips_init.c
wxpng_filter_vsx_intrinsics.o: $(srcdir)/src/png/powerpc/filter_vsx_intrinsics.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/powerpc/filter_vsx_intrinsics.c
wxpng_powerpc_init.o: $(srcdir)/src/png/powerpc/powerpc_init.c
$(CCC) -c -o $@ $(WXPNG_CFLAGS) $(srcdir)/src/png/powerpc/powerpc_init.c
wxjpeg_jaricom.o: $(srcdir)/src/jpeg/jaricom.c
$(CCC) -c -o $@ $(WXJPEG_CFLAGS) $(srcdir)/src/jpeg/jaricom.c

View File

@@ -43,7 +43,20 @@
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
src/png/arm/arm_init.c
src/png/arm/filter_neon_intrinsics.c
src/png/arm/palette_neon_intrinsics.c
src/png/intel/intel_init.c
src/png/intel/filter_sse2_intrinsics.c
</sources>
<if cond="IS_MSVC=='0'">
<sources>
src/png/mips/filter_msa_intrinsics.c
src/png/mips/mips_init.c
src/png/powerpc/filter_vsx_intrinsics.c
src/png/powerpc/powerpc_init.c
</sources>
</if>
</lib>
</makefile>

View File

@@ -8,6 +8,14 @@
#############################################################################
if(wxUSE_LIBPNG STREQUAL "builtin")
if(NOT MSVC)
set(PNG_EXTRA_SOURCES
src/png/mips/filter_msa_intrinsics.c
src/png/mips/mips_init.c
src/png/powerpc/filter_vsx_intrinsics.c
src/png/powerpc/powerpc_init.c
)
endif()
wx_add_builtin_library(wxpng
src/png/png.c
src/png/pngerror.c
@@ -24,6 +32,12 @@ if(wxUSE_LIBPNG STREQUAL "builtin")
src/png/pngwrite.c
src/png/pngwtran.c
src/png/pngwutil.c
src/png/arm/arm_init.c
src/png/arm/filter_neon_intrinsics.c
src/png/arm/palette_neon_intrinsics.c
src/png/intel/intel_init.c
src/png/intel/filter_sse2_intrinsics.c
${PNG_EXTRA_SOURCES}
)
if(WIN32)
# define this to get rid of a warning about using POSIX lfind():

View File

@@ -93,7 +93,16 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.obj \
$(OBJS)\wxpng_pngwrite.obj \
$(OBJS)\wxpng_pngwtran.obj \
$(OBJS)\wxpng_pngwutil.obj
$(OBJS)\wxpng_pngwutil.obj \
$(OBJS)\wxpng_arm_init.obj \
$(OBJS)\wxpng_filter_neon_intrinsics.obj \
$(OBJS)\wxpng_palette_neon_intrinsics.obj \
$(OBJS)\wxpng_intel_init.obj \
$(OBJS)\wxpng_filter_sse2_intrinsics.obj \
$(OBJS)\wxpng_filter_msa_intrinsics.obj \
$(OBJS)\wxpng_mips_init.obj \
$(OBJS)\wxpng_filter_vsx_intrinsics.obj \
$(OBJS)\wxpng_powerpc_init.obj
WXJPEG_CFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -DNDEBUG -I$(SETUPHDIR) -w-8004 -w-8008 \
-w-8057 -w-8066 $(CPPFLAGS) $(CFLAGS)
@@ -5734,6 +5743,33 @@ $(OBJS)\wxpng_pngwtran.obj: ..\..\src\png\pngwtran.c
$(OBJS)\wxpng_pngwutil.obj: ..\..\src\png\pngwutil.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\pngwutil.c
$(OBJS)\wxpng_arm_init.obj: ..\..\src\png\arm\arm_init.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\arm_init.c
$(OBJS)\wxpng_filter_neon_intrinsics.obj: ..\..\src\png\arm\filter_neon_intrinsics.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\filter_neon_intrinsics.c
$(OBJS)\wxpng_palette_neon_intrinsics.obj: ..\..\src\png\arm\palette_neon_intrinsics.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\palette_neon_intrinsics.c
$(OBJS)\wxpng_intel_init.obj: ..\..\src\png\intel\intel_init.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\intel_init.c
$(OBJS)\wxpng_filter_sse2_intrinsics.obj: ..\..\src\png\intel\filter_sse2_intrinsics.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\filter_sse2_intrinsics.c
$(OBJS)\wxpng_filter_msa_intrinsics.obj: ..\..\src\png\mips\filter_msa_intrinsics.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\mips\filter_msa_intrinsics.c
$(OBJS)\wxpng_mips_init.obj: ..\..\src\png\mips\mips_init.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\mips\mips_init.c
$(OBJS)\wxpng_filter_vsx_intrinsics.obj: ..\..\src\png\powerpc\filter_vsx_intrinsics.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\powerpc\filter_vsx_intrinsics.c
$(OBJS)\wxpng_powerpc_init.obj: ..\..\src\png\powerpc\powerpc_init.c
$(CC) -q -c -P- -o$@ $(WXPNG_CFLAGS) ..\..\src\png\powerpc\powerpc_init.c
$(OBJS)\wxjpeg_jaricom.obj: ..\..\src\jpeg\jaricom.c
$(CC) -q -c -P- -o$@ $(WXJPEG_CFLAGS) ..\..\src\jpeg\jaricom.c

View File

@@ -84,7 +84,16 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.o \
$(OBJS)\wxpng_pngwrite.o \
$(OBJS)\wxpng_pngwtran.o \
$(OBJS)\wxpng_pngwutil.o
$(OBJS)\wxpng_pngwutil.o \
$(OBJS)\wxpng_arm_init.o \
$(OBJS)\wxpng_filter_neon_intrinsics.o \
$(OBJS)\wxpng_palette_neon_intrinsics.o \
$(OBJS)\wxpng_intel_init.o \
$(OBJS)\wxpng_filter_sse2_intrinsics.o \
$(OBJS)\wxpng_filter_msa_intrinsics.o \
$(OBJS)\wxpng_mips_init.o \
$(OBJS)\wxpng_filter_vsx_intrinsics.o \
$(OBJS)\wxpng_powerpc_init.o
WXJPEG_CFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
-DHAVE_W32API_H -DNDEBUG -I$(SETUPHDIR) $(CPPFLAGS) $(CFLAGS)
WXJPEG_OBJECTS = \
@@ -6037,6 +6046,33 @@ $(OBJS)\wxpng_pngwtran.o: ../../src/png/pngwtran.c
$(OBJS)\wxpng_pngwutil.o: ../../src/png/pngwutil.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_arm_init.o: ../../src/png/arm/arm_init.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_filter_neon_intrinsics.o: ../../src/png/arm/filter_neon_intrinsics.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_palette_neon_intrinsics.o: ../../src/png/arm/palette_neon_intrinsics.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_intel_init.o: ../../src/png/intel/intel_init.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_filter_sse2_intrinsics.o: ../../src/png/intel/filter_sse2_intrinsics.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_filter_msa_intrinsics.o: ../../src/png/mips/filter_msa_intrinsics.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_mips_init.o: ../../src/png/mips/mips_init.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_filter_vsx_intrinsics.o: ../../src/png/powerpc/filter_vsx_intrinsics.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxpng_powerpc_init.o: ../../src/png/powerpc/powerpc_init.c
$(CC) -c -o $@ $(WXPNG_CFLAGS) $(CPPDEPS) $<
$(OBJS)\wxjpeg_jaricom.o: ../../src/jpeg/jaricom.c
$(CC) -c -o $@ $(WXJPEG_CFLAGS) $(CPPDEPS) $<

View File

@@ -94,7 +94,12 @@ WXPNG_OBJECTS = \
$(OBJS)\wxpng_pngwio.obj \
$(OBJS)\wxpng_pngwrite.obj \
$(OBJS)\wxpng_pngwtran.obj \
$(OBJS)\wxpng_pngwutil.obj
$(OBJS)\wxpng_pngwutil.obj \
$(OBJS)\wxpng_arm_init.obj \
$(OBJS)\wxpng_filter_neon_intrinsics.obj \
$(OBJS)\wxpng_palette_neon_intrinsics.obj \
$(OBJS)\wxpng_intel_init.obj \
$(OBJS)\wxpng_filter_sse2_intrinsics.obj
WXJPEG_CFLAGS = /M$(__RUNTIME_LIBS_55)$(__DEBUGRUNTIME) /DWIN32 $(__DEBUGINFO) \
/Fd$(LIBDIRNAME)\wxjpeg$(WXDEBUGFLAG).pdb $(____DEBUGRUNTIME) \
$(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
@@ -6652,6 +6657,21 @@ $(OBJS)\wxpng_pngwtran.obj: ..\..\src\png\pngwtran.c
$(OBJS)\wxpng_pngwutil.obj: ..\..\src\png\pngwutil.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\pngwutil.c
$(OBJS)\wxpng_arm_init.obj: ..\..\src\png\arm\arm_init.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\arm_init.c
$(OBJS)\wxpng_filter_neon_intrinsics.obj: ..\..\src\png\arm\filter_neon_intrinsics.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\filter_neon_intrinsics.c
$(OBJS)\wxpng_palette_neon_intrinsics.obj: ..\..\src\png\arm\palette_neon_intrinsics.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\arm\palette_neon_intrinsics.c
$(OBJS)\wxpng_intel_init.obj: ..\..\src\png\intel\intel_init.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\intel_init.c
$(OBJS)\wxpng_filter_sse2_intrinsics.obj: ..\..\src\png\intel\filter_sse2_intrinsics.c
$(CC) /c /nologo /TC /Fo$@ $(WXPNG_CFLAGS) ..\..\src\png\intel\filter_sse2_intrinsics.c
$(OBJS)\wxjpeg_jaricom.obj: ..\..\src\jpeg\jaricom.c
$(CC) /c /nologo /TC /Fo$@ $(WXJPEG_CFLAGS) ..\..\src\jpeg\jaricom.c

View File

@@ -243,6 +243,21 @@
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
<File
RelativePath="..\..\src\png\arm\arm_init.c">
</File>
<File
RelativePath="..\..\src\png\arm\filter_neon_intrinsics.c">
</File>
<File
RelativePath="..\..\src\png\intel\filter_sse2_intrinsics.c">
</File>
<File
RelativePath="..\..\src\png\intel\intel_init.c">
</File>
<File
RelativePath="..\..\src\png\arm\palette_neon_intrinsics.c">
</File>
<File
RelativePath="..\..\src\png\png.c">
</File>

View File

@@ -670,6 +670,26 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\src\png\arm\arm_init.c"
>
</File>
<File
RelativePath="..\..\src\png\arm\filter_neon_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\intel\filter_sse2_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\intel\intel_init.c"
>
</File>
<File
RelativePath="..\..\src\png\arm\palette_neon_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\png.c"
>

View File

@@ -666,6 +666,26 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\src\png\arm\arm_init.c"
>
</File>
<File
RelativePath="..\..\src\png\arm\filter_neon_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\intel\filter_sse2_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\intel\intel_init.c"
>
</File>
<File
RelativePath="..\..\src\png\arm\palette_neon_intrinsics.c"
>
</File>
<File
RelativePath="..\..\src\png\png.c"
>

View File

@@ -417,6 +417,11 @@
<ClCompile Include="..\..\src\png\pngwrite.c" />
<ClCompile Include="..\..\src\png\pngwtran.c" />
<ClCompile Include="..\..\src\png\pngwutil.c" />
<ClCompile Include="..\..\src\png\arm\arm_init.c" />
<ClCompile Include="..\..\src\png\arm\filter_neon_intrinsics.c" />
<ClCompile Include="..\..\src\png\arm\palette_neon_intrinsics.c" />
<ClCompile Include="..\..\src\png\intel\intel_init.c" />
<ClCompile Include="..\..\src\png\intel\filter_sse2_intrinsics.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@@ -52,5 +52,20 @@
<ClCompile Include="..\..\src\png\pngwutil.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\png\arm\arm_init.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\png\arm\filter_neon_intrinsics.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\png\arm\palette_neon_intrinsics.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\png\intel\intel_init.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\png\intel\filter_sse2_intrinsics.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>