forked from KolibriOS/kolibrios
libraries: update Makefiles
git-svn-id: svn://kolibrios.org@1907 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
2336060a0c
commit
f987f52aaa
@ -1,12 +1,11 @@
|
|||||||
# Autoconf configuration
|
#Pull in the defaults
|
||||||
|
|
||||||
# Pull in the defaults
|
|
||||||
include $(TOP)/configs/default
|
include $(TOP)/configs/default
|
||||||
|
|
||||||
# This is generated by configure
|
# This is generated by configure
|
||||||
CONFIG_NAME = autoconf
|
CONFIG_NAME = autoconf
|
||||||
|
|
||||||
# Compiler and flags
|
# Compiler and flags
|
||||||
|
|
||||||
AR = ar rc
|
AR = ar rc
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CXX = g++
|
CXX = g++
|
||||||
|
@ -438,7 +438,7 @@ one_time_init( struct gl_context *ctx )
|
|||||||
/* Hopefully atexit() is widely available. If not, we may need some
|
/* Hopefully atexit() is widely available. If not, we may need some
|
||||||
* #ifdef tests here.
|
* #ifdef tests here.
|
||||||
*/
|
*/
|
||||||
// atexit(_mesa_destroy_shader_compiler);
|
atexit(_mesa_destroy_shader_compiler);
|
||||||
|
|
||||||
dummy_enum_func();
|
dummy_enum_func();
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@ CFLAGS = -c -O2 -fomit-frame-pointer -ffast-math
|
|||||||
|
|
||||||
LDIMPORT:= -nostdlib --out-implib libcairoimp.a --exclude-libs libamz.a
|
LDIMPORT:= -nostdlib --out-implib libcairoimp.a --exclude-libs libamz.a
|
||||||
|
|
||||||
LDFLAGS:= -shared -s -T ../newlib/dll.lds -Map map --image-base 0
|
LDFLAGS:= -shared -s -T ../newlib/dll.lds --image-base 0
|
||||||
|
|
||||||
DEFINES = -DHAVE_CONFIG_H -DCAIRO_NO_MUTEX -U_WIN32 -U_MSC_VER -U__WIN32__
|
DEFINES = -DHAVE_CONFIG_H -DCAIRO_NO_MUTEX -U_WIN32 -U_MSC_VER -U__WIN32__
|
||||||
|
|
||||||
@ -125,6 +125,8 @@ $(LIBRARY).dll: $(OBJECTS) Makefile
|
|||||||
%.o : %.c Makefile
|
%.o : %.c Makefile
|
||||||
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f */*.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,9 +4,9 @@ CPP=gcc -E
|
|||||||
|
|
||||||
CFLAGS= -c -combine -O2 -fomit-frame-pointer -ffast-math -mmmx -finline-functions
|
CFLAGS= -c -combine -O2 -fomit-frame-pointer -ffast-math -mmmx -finline-functions
|
||||||
|
|
||||||
LDIMPORT:= -nostdlib --out-implib libmpg123imp.a
|
LDIMPORT:= -nostdlib --out-implib libmpg123imp.a --exclude-libs libamz.a
|
||||||
|
|
||||||
LDFLAGS:= -shared -s -T../newlib/dll.lds -Map map --image-base 0
|
LDFLAGS:= -shared -s -T../newlib/dll.lds --image-base 0
|
||||||
|
|
||||||
INCLUDES= -I../newlib/include
|
INCLUDES= -I../newlib/include
|
||||||
|
|
||||||
@ -61,4 +61,8 @@ $(NAME).dll: $(SRCS_OBJ) $(ASM_OBJS) Makefile
|
|||||||
|
|
||||||
%.o: %.c Makefile
|
%.o: %.c Makefile
|
||||||
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f *.o
|
||||||
|
|
||||||
|
|
@ -7,11 +7,11 @@ AR= ar rc
|
|||||||
|
|
||||||
CFLAGS = -c -O2 -fomit-frame-pointer
|
CFLAGS = -c -O2 -fomit-frame-pointer
|
||||||
|
|
||||||
LDIMPORT:= -nostdlib --out-implib libpngimp.a --exclude-libs libamz.a
|
LDIMPORT:= -nostdlib --out-implib libpngimp.a
|
||||||
|
|
||||||
LDFLAGS:= -shared -s -T../newlib/dll.lds -Map map --image-base 0
|
LDFLAGS:= -shared -s -T../newlib/dll.lds --image-base 0
|
||||||
|
|
||||||
DEFS = -DHAVE_CONFIG_H -D__DYNAMIC_REENT__
|
DEFS = -DHAVE_CONFIG_H
|
||||||
|
|
||||||
LIBPNG_DEFINES = -DPNG_CONFIGURE_LIBPNG
|
LIBPNG_DEFINES = -DPNG_CONFIGURE_LIBPNG
|
||||||
|
|
||||||
@ -29,7 +29,6 @@ SOURCES = png.c pngerror.c pngget.c pngmem.c pngpread.c \
|
|||||||
pngwtran.c pngwutil.c
|
pngwtran.c pngwutil.c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
OBJECTS = $(patsubst %.c, %.o, $(SOURCES))
|
||||||
|
|
||||||
|
|
||||||
@ -43,10 +42,14 @@ $(LIBRARY).a: $(OBJECTS) Makefile
|
|||||||
ar cvrs $(LIBRARY).a $(OBJECTS)
|
ar cvrs $(LIBRARY).a $(OBJECTS)
|
||||||
|
|
||||||
$(LIBRARY).dll: $(OBJECTS) Makefile
|
$(LIBRARY).dll: $(OBJECTS) Makefile
|
||||||
ld $(LDFLAGS) $(LDIMPORT) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS)
|
ld $(LDFLAGS) $(LDIMPORT) $(LIBPATH) -o $@ $(OBJECTS) $(LIBS) symbols.def
|
||||||
|
|
||||||
%.o : %.c Makefile
|
%.o : %.c Makefile
|
||||||
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f *.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
205
programs/develop/libraries/libpng/README
Normal file
205
programs/develop/libraries/libpng/README
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
README for libpng version 1.5.1 - February 3, 2011 (shared library 15.0)
|
||||||
|
See the note about version numbers near the top of png.h
|
||||||
|
|
||||||
|
See INSTALL for instructions on how to install libpng.
|
||||||
|
|
||||||
|
Libpng comes in several distribution formats. Get libpng-*.tar.gz,
|
||||||
|
libpng-*.tar.xz or libpng-*.tar.bz2 if you want UNIX-style line endings
|
||||||
|
in the text files, or lpng*.zip if you want DOS-style line endings.
|
||||||
|
|
||||||
|
Version 0.89 was the first official release of libpng. Don't let the
|
||||||
|
fact that it's the first release fool you. The libpng library has been in
|
||||||
|
extensive use and testing since mid-1995. By late 1997 it had
|
||||||
|
finally gotten to the stage where there hadn't been significant
|
||||||
|
changes to the API in some time, and people have a bad feeling about
|
||||||
|
libraries with versions < 1.0. Version 1.0.0 was released in
|
||||||
|
March 1998.
|
||||||
|
|
||||||
|
****
|
||||||
|
Note that some of the changes to the png_info structure render this
|
||||||
|
version of the library binary incompatible with libpng-0.89 or
|
||||||
|
earlier versions if you are using a shared library. The type of the
|
||||||
|
"filler" parameter for png_set_filler() has changed from png_byte to
|
||||||
|
png_uint_32, which will affect shared-library applications that use
|
||||||
|
this function.
|
||||||
|
|
||||||
|
To avoid problems with changes to the internals of png_info_struct,
|
||||||
|
new APIs have been made available in 0.95 to avoid direct application
|
||||||
|
access to info_ptr. These functions are the png_set_<chunk> and
|
||||||
|
png_get_<chunk> functions. These functions should be used when
|
||||||
|
accessing/storing the info_struct data, rather than manipulating it
|
||||||
|
directly, to avoid such problems in the future.
|
||||||
|
|
||||||
|
It is important to note that the APIs do not make current programs
|
||||||
|
that access the info struct directly incompatible with the new
|
||||||
|
library. However, it is strongly suggested that new programs use
|
||||||
|
the new APIs (as shown in example.c and pngtest.c), and older programs
|
||||||
|
be converted to the new format, to facilitate upgrades in the future.
|
||||||
|
****
|
||||||
|
|
||||||
|
Additions since 0.90 include the ability to compile libpng as a
|
||||||
|
Windows DLL, and new APIs for accessing data in the info struct.
|
||||||
|
Experimental functions include the ability to set weighting and cost
|
||||||
|
factors for row filter selection, direct reads of integers from buffers
|
||||||
|
on big-endian processors that support misaligned data access, faster
|
||||||
|
methods of doing alpha composition, and more accurate 16->8 bit color
|
||||||
|
conversion.
|
||||||
|
|
||||||
|
The additions since 0.89 include the ability to read from a PNG stream
|
||||||
|
which has had some (or all) of the signature bytes read by the calling
|
||||||
|
application. This also allows the reading of embedded PNG streams that
|
||||||
|
do not have the PNG file signature. As well, it is now possible to set
|
||||||
|
the library action on the detection of chunk CRC errors. It is possible
|
||||||
|
to set different actions based on whether the CRC error occurred in a
|
||||||
|
critical or an ancillary chunk.
|
||||||
|
|
||||||
|
The changes made to the library, and bugs fixed are based on discussions
|
||||||
|
on the PNG-implement mailing list and not on material submitted
|
||||||
|
privately to Guy, Andreas, or Glenn. They will forward any good
|
||||||
|
suggestions to the list.
|
||||||
|
|
||||||
|
For a detailed description on using libpng, read libpng-manual.txt. For
|
||||||
|
examples of libpng in a program, see example.c and pngtest.c. For usage
|
||||||
|
information and restrictions (what little they are) on libpng, see
|
||||||
|
png.h. For a description on using zlib (the compression library used by
|
||||||
|
libpng) and zlib's restrictions, see zlib.h
|
||||||
|
|
||||||
|
I have included a general makefile, as well as several machine and
|
||||||
|
compiler specific ones, but you may have to modify one for your own needs.
|
||||||
|
|
||||||
|
You should use zlib 1.0.4 or later to run this, but it MAY work with
|
||||||
|
versions as old as zlib 0.95. Even so, there are bugs in older zlib
|
||||||
|
versions which can cause the output of invalid compression streams for
|
||||||
|
some images. You will definitely need zlib 1.0.4 or later if you are
|
||||||
|
taking advantage of the MS-DOS "far" structure allocation for the small
|
||||||
|
and medium memory models. You should also note that zlib is a
|
||||||
|
compression library that is useful for more things than just PNG files.
|
||||||
|
You can use zlib as a drop-in replacement for fread() and fwrite() if
|
||||||
|
you are so inclined.
|
||||||
|
|
||||||
|
zlib should be available at the same place that libpng is, or at.
|
||||||
|
ftp://ftp.info-zip.org/pub/infozip/zlib
|
||||||
|
|
||||||
|
You may also want a copy of the PNG specification. It is available
|
||||||
|
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
|
||||||
|
these at http://www.libpng.org/pub/png/documents/
|
||||||
|
|
||||||
|
This code is currently being archived at libpng.sf.net in the
|
||||||
|
[DOWNLOAD] area, and on CompuServe, Lib 20 (PNG SUPPORT)
|
||||||
|
at GO GRAPHSUP. If you can't find it in any of those places,
|
||||||
|
e-mail me, and I'll help you find it.
|
||||||
|
|
||||||
|
If you have any code changes, requests, problems, etc., please e-mail
|
||||||
|
them to me. Also, I'd appreciate any make files or project files,
|
||||||
|
and any modifications you needed to make to get libpng to compile,
|
||||||
|
along with a #define variable to tell what compiler/system you are on.
|
||||||
|
If you needed to add transformations to libpng, or wish libpng would
|
||||||
|
provide the image in a different way, drop me a note (and code, if
|
||||||
|
possible), so I can consider supporting the transformation.
|
||||||
|
Finally, if you get any warning messages when compiling libpng
|
||||||
|
(note: not zlib), and they are easy to fix, I'd appreciate the
|
||||||
|
fix. Please mention "libpng" somewhere in the subject line. Thanks.
|
||||||
|
|
||||||
|
This release was created and will be supported by myself (of course
|
||||||
|
based in a large way on Guy's and Andreas' earlier work), and the PNG
|
||||||
|
development group.
|
||||||
|
|
||||||
|
Send comments/corrections/commendations to png-mng-implement at
|
||||||
|
lists.sourceforge.net (subscription required; visit
|
||||||
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
||||||
|
to subscribe) or to glennrp at users.sourceforge.net
|
||||||
|
|
||||||
|
You can't reach Guy, the original libpng author, at the addresses
|
||||||
|
given in previous versions of this document. He and Andreas will
|
||||||
|
read mail addressed to the png-implement list, however.
|
||||||
|
|
||||||
|
Please do not send general questions about PNG. Send them to
|
||||||
|
the (png-list at ccrc.wustl.edu, subscription required, write to
|
||||||
|
majordomo at ccrc.wustl.edu with "subscribe png-list" in your message).
|
||||||
|
On the other hand,
|
||||||
|
please do not send libpng questions to that address, send them to me
|
||||||
|
or to the png-implement list. I'll
|
||||||
|
get them in the end anyway. If you have a question about something
|
||||||
|
in the PNG specification that is related to using libpng, send it
|
||||||
|
to me. Send me any questions that start with "I was using libpng,
|
||||||
|
and ...". If in doubt, send questions to me. I'll bounce them
|
||||||
|
to others, if necessary.
|
||||||
|
|
||||||
|
Please do not send suggestions on how to change PNG. We have
|
||||||
|
been discussing PNG for nine years now, and it is official and
|
||||||
|
finished. If you have suggestions for libpng, however, I'll
|
||||||
|
gladly listen. Even if your suggestion is not used immediately,
|
||||||
|
it may be used later.
|
||||||
|
|
||||||
|
Files in this distribution:
|
||||||
|
|
||||||
|
ANNOUNCE => Announcement of this version, with recent changes
|
||||||
|
CHANGES => Description of changes between libpng versions
|
||||||
|
KNOWNBUG => List of known bugs and deficiencies
|
||||||
|
LICENSE => License to use and redistribute libpng
|
||||||
|
README => This file
|
||||||
|
TODO => Things not implemented in the current library
|
||||||
|
Y2KINFO => Statement of Y2K compliance
|
||||||
|
example.c => Example code for using libpng functions
|
||||||
|
libpng.3 => manual page for libpng (includes libpng-manual.txt)
|
||||||
|
libpng-manual.txt => Description of libpng and its functions
|
||||||
|
libpngpf.3 => manual page for libpng's private functions
|
||||||
|
png.5 => manual page for the PNG format
|
||||||
|
png.c => Basic interface functions common to library
|
||||||
|
png.h => Library function and interface declarations (public)
|
||||||
|
pngpriv.h => Library function and interface declarations (private)
|
||||||
|
pngconf.h => System specific library configuration (public)
|
||||||
|
pngstruct.h => png_struct declaration (private)
|
||||||
|
pnginfo.h => png_info struct declaration (private)
|
||||||
|
pngdebug.h => debugging macros (private)
|
||||||
|
pngerror.c => Error/warning message I/O functions
|
||||||
|
pngget.c => Functions for retrieving info from struct
|
||||||
|
pngmem.c => Memory handling functions
|
||||||
|
pngbar.png => PNG logo, 88x31
|
||||||
|
pngnow.png => PNG logo, 98x31
|
||||||
|
pngpread.c => Progressive reading functions
|
||||||
|
pngread.c => Read data/helper high-level functions
|
||||||
|
pngrio.c => Lowest-level data read I/O functions
|
||||||
|
pngrtran.c => Read data transformation functions
|
||||||
|
pngrutil.c => Read data utility functions
|
||||||
|
pngset.c => Functions for storing data into the info_struct
|
||||||
|
pngtest.c => Library test program
|
||||||
|
pngtest.png => Library test sample image
|
||||||
|
pngtrans.c => Common data transformation functions
|
||||||
|
pngwio.c => Lowest-level write I/O functions
|
||||||
|
pngwrite.c => High-level write functions
|
||||||
|
pngwtran.c => Write data transformations
|
||||||
|
pngwutil.c => Write utility functions
|
||||||
|
contrib => Contributions
|
||||||
|
gregbook => source code for PNG reading and writing, from
|
||||||
|
Greg Roelofs' "PNG: The Definitive Guide",
|
||||||
|
O'Reilly, 1999
|
||||||
|
msvctest => Builds and runs pngtest using a MSVC workspace
|
||||||
|
pngminus => Simple pnm2png and png2pnm programs
|
||||||
|
pngsuite => Test images
|
||||||
|
visupng => Contains a MSVC workspace for VisualPng
|
||||||
|
projects => Contains project files and workspaces for
|
||||||
|
building a DLL
|
||||||
|
cbuilder5 => Contains a Borland workspace for building
|
||||||
|
libpng and zlib
|
||||||
|
visualc6 => Contains a Microsoft Visual C++ (MSVC)
|
||||||
|
workspace for building libpng and zlib
|
||||||
|
visualc71 => Contains a Microsoft Visual C++ (MSVC)
|
||||||
|
workspace for building libpng and zlib
|
||||||
|
xcode => Contains an Apple xcode
|
||||||
|
workspace for building libpng and zlib
|
||||||
|
scripts => Directory containing scripts for building libpng:
|
||||||
|
(see scripts/README.txt for the list of scripts)
|
||||||
|
|
||||||
|
Good luck, and happy coding.
|
||||||
|
|
||||||
|
-Glenn Randers-Pehrson (current maintainer, since 1998)
|
||||||
|
Internet: glennrp at users.sourceforge.net
|
||||||
|
|
||||||
|
-Andreas Eric Dilger (former maintainer, 1996-1997)
|
||||||
|
Internet: adilger at enel.ucalgary.ca
|
||||||
|
Web: http://www-mddsp.enel.ucalgary.ca/People/adilger/
|
||||||
|
|
||||||
|
-Guy Eric Schalnat (original author and former maintainer, 1995-1996)
|
||||||
|
(formerly of Group 42, Inc)
|
||||||
|
Internet: gschal at infinet.com
|
@ -46,7 +46,7 @@
|
|||||||
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
|
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
|
||||||
#define PNG_USER_LIMITS_SUPPORTED
|
#define PNG_USER_LIMITS_SUPPORTED
|
||||||
#define PNG_FIXED_POINT_SUPPORTED
|
#define PNG_FIXED_POINT_SUPPORTED
|
||||||
/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/
|
#define PNG_ERROR_NUMBERS_SUPPORTED
|
||||||
#define PNG_ERROR_TEXT_SUPPORTED
|
#define PNG_ERROR_TEXT_SUPPORTED
|
||||||
#define PNG_READ_SUPPORTED
|
#define PNG_READ_SUPPORTED
|
||||||
/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
|
/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/
|
||||||
|
227
programs/develop/libraries/libpng/symbols.def
Normal file
227
programs/develop/libraries/libpng/symbols.def
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
;--------------------------------------------------------------
|
||||||
|
; LIBPNG symbol list as a Win32 DEF file
|
||||||
|
; Contains all the symbols that can be exported from libpng
|
||||||
|
;--------------------------------------------------------------
|
||||||
|
LIBRARY
|
||||||
|
|
||||||
|
EXPORTS
|
||||||
|
;Version 1.5.1
|
||||||
|
png_access_version_number @1
|
||||||
|
png_set_sig_bytes @2
|
||||||
|
png_sig_cmp @3
|
||||||
|
png_create_read_struct @4
|
||||||
|
png_create_write_struct @5
|
||||||
|
png_get_compression_buffer_size @6
|
||||||
|
png_set_compression_buffer_size @7
|
||||||
|
png_set_longjmp_fn @8
|
||||||
|
png_longjmp @9
|
||||||
|
png_reset_zstream @10
|
||||||
|
png_create_read_struct_2 @11
|
||||||
|
png_create_write_struct_2 @12
|
||||||
|
png_write_sig @13
|
||||||
|
png_write_chunk @14
|
||||||
|
png_write_chunk_start @15
|
||||||
|
png_write_chunk_data @16
|
||||||
|
png_write_chunk_end @17
|
||||||
|
png_create_info_struct @18
|
||||||
|
png_info_init_3 @19
|
||||||
|
png_write_info_before_PLTE @20
|
||||||
|
png_write_info @21
|
||||||
|
png_read_info @22
|
||||||
|
png_convert_to_rfc1123 @23
|
||||||
|
png_convert_from_struct_tm @24
|
||||||
|
png_convert_from_time_t @25
|
||||||
|
png_set_expand @26
|
||||||
|
png_set_expand_gray_1_2_4_to_8 @27
|
||||||
|
png_set_palette_to_rgb @28
|
||||||
|
png_set_tRNS_to_alpha @29
|
||||||
|
png_set_bgr @30
|
||||||
|
png_set_gray_to_rgb @31
|
||||||
|
png_set_rgb_to_gray @32
|
||||||
|
png_set_rgb_to_gray_fixed @33
|
||||||
|
png_get_rgb_to_gray_status @34
|
||||||
|
png_build_grayscale_palette @35
|
||||||
|
png_set_strip_alpha @36
|
||||||
|
png_set_swap_alpha @37
|
||||||
|
png_set_invert_alpha @38
|
||||||
|
png_set_filler @39
|
||||||
|
png_set_add_alpha @40
|
||||||
|
png_set_swap @41
|
||||||
|
png_set_packing @42
|
||||||
|
png_set_packswap @43
|
||||||
|
png_set_shift @44
|
||||||
|
png_set_interlace_handling @45
|
||||||
|
png_set_invert_mono @46
|
||||||
|
png_set_background @47
|
||||||
|
png_set_strip_16 @48
|
||||||
|
png_set_quantize @49
|
||||||
|
png_set_gamma @50
|
||||||
|
png_set_flush @51
|
||||||
|
png_write_flush @52
|
||||||
|
png_start_read_image @53
|
||||||
|
png_read_update_info @54
|
||||||
|
png_read_rows @55
|
||||||
|
png_read_row @56
|
||||||
|
png_read_image @57
|
||||||
|
png_write_row @58
|
||||||
|
png_write_rows @59
|
||||||
|
png_write_image @60
|
||||||
|
png_write_end @61
|
||||||
|
png_read_end @62
|
||||||
|
png_destroy_info_struct @63
|
||||||
|
png_destroy_read_struct @64
|
||||||
|
png_destroy_write_struct @65
|
||||||
|
png_set_crc_action @66
|
||||||
|
png_set_filter @67
|
||||||
|
png_set_filter_heuristics @68
|
||||||
|
png_set_compression_level @69
|
||||||
|
png_set_compression_mem_level @70
|
||||||
|
png_set_compression_strategy @71
|
||||||
|
png_set_compression_window_bits @72
|
||||||
|
png_set_compression_method @73
|
||||||
|
png_init_io @74
|
||||||
|
png_set_error_fn @75
|
||||||
|
png_get_error_ptr @76
|
||||||
|
png_set_write_fn @77
|
||||||
|
png_set_read_fn @78
|
||||||
|
png_get_io_ptr @79
|
||||||
|
png_set_read_status_fn @80
|
||||||
|
png_set_write_status_fn @81
|
||||||
|
png_set_mem_fn @82
|
||||||
|
png_get_mem_ptr @83
|
||||||
|
png_set_read_user_transform_fn @84
|
||||||
|
png_set_write_user_transform_fn @85
|
||||||
|
png_set_user_transform_info @86
|
||||||
|
png_get_user_transform_ptr @87
|
||||||
|
png_set_read_user_chunk_fn @88
|
||||||
|
png_get_user_chunk_ptr @89
|
||||||
|
png_set_progressive_read_fn @90
|
||||||
|
png_get_progressive_ptr @91
|
||||||
|
png_process_data @92
|
||||||
|
png_progressive_combine_row @93
|
||||||
|
png_malloc @94
|
||||||
|
png_calloc @95
|
||||||
|
png_malloc_warn @96
|
||||||
|
png_free @97
|
||||||
|
png_free_data @98
|
||||||
|
png_data_freer @99
|
||||||
|
png_malloc_default @100
|
||||||
|
png_free_default @101
|
||||||
|
png_error @102
|
||||||
|
png_chunk_error @103
|
||||||
|
png_warning @105
|
||||||
|
png_chunk_warning @106
|
||||||
|
png_benign_error @107
|
||||||
|
png_chunk_benign_error @108
|
||||||
|
png_set_benign_errors @109
|
||||||
|
png_get_valid @110
|
||||||
|
png_get_rowbytes @111
|
||||||
|
png_get_rows @112
|
||||||
|
png_set_rows @113
|
||||||
|
png_get_channels @114
|
||||||
|
png_get_image_width @115
|
||||||
|
png_get_image_height @116
|
||||||
|
png_get_bit_depth @117
|
||||||
|
png_get_color_type @118
|
||||||
|
png_get_filter_type @119
|
||||||
|
png_get_interlace_type @120
|
||||||
|
png_get_compression_type @121
|
||||||
|
png_get_pixels_per_meter @122
|
||||||
|
png_get_x_pixels_per_meter @123
|
||||||
|
png_get_y_pixels_per_meter @124
|
||||||
|
png_get_pixel_aspect_ratio @125
|
||||||
|
png_get_x_offset_pixels @126
|
||||||
|
png_get_y_offset_pixels @127
|
||||||
|
png_get_x_offset_microns @128
|
||||||
|
png_get_y_offset_microns @129
|
||||||
|
png_get_signature @130
|
||||||
|
png_get_bKGD @131
|
||||||
|
png_set_bKGD @132
|
||||||
|
png_get_cHRM @133
|
||||||
|
png_get_cHRM_fixed @134
|
||||||
|
png_set_cHRM @135
|
||||||
|
png_set_cHRM_fixed @136
|
||||||
|
png_get_gAMA @137
|
||||||
|
png_get_gAMA_fixed @138
|
||||||
|
png_set_gAMA @139
|
||||||
|
png_set_gAMA_fixed @140
|
||||||
|
png_get_hIST @141
|
||||||
|
png_set_hIST @142
|
||||||
|
png_get_IHDR @143
|
||||||
|
png_set_IHDR @144
|
||||||
|
png_get_oFFs @145
|
||||||
|
png_set_oFFs @146
|
||||||
|
png_get_pCAL @147
|
||||||
|
png_set_pCAL @148
|
||||||
|
png_get_pHYs @149
|
||||||
|
png_set_pHYs @150
|
||||||
|
png_get_PLTE @151
|
||||||
|
png_set_PLTE @152
|
||||||
|
png_get_sBIT @153
|
||||||
|
png_set_sBIT @154
|
||||||
|
png_get_sRGB @155
|
||||||
|
png_set_sRGB @156
|
||||||
|
png_set_sRGB_gAMA_and_cHRM @157
|
||||||
|
png_get_iCCP @158
|
||||||
|
png_set_iCCP @159
|
||||||
|
png_get_sPLT @160
|
||||||
|
png_set_sPLT @161
|
||||||
|
png_get_text @162
|
||||||
|
png_set_text @163
|
||||||
|
png_get_tIME @164
|
||||||
|
png_set_tIME @165
|
||||||
|
png_get_tRNS @166
|
||||||
|
png_set_tRNS @167
|
||||||
|
png_get_sCAL @168
|
||||||
|
png_get_sCAL_s @169
|
||||||
|
png_set_sCAL @170
|
||||||
|
png_set_sCAL_s @171
|
||||||
|
png_set_keep_unknown_chunks @172
|
||||||
|
png_handle_as_unknown @173
|
||||||
|
png_set_unknown_chunks @174
|
||||||
|
png_set_unknown_chunk_location @175
|
||||||
|
png_get_unknown_chunks @176
|
||||||
|
png_set_invalid @177
|
||||||
|
png_read_png @178
|
||||||
|
png_write_png @179
|
||||||
|
png_get_copyright @180
|
||||||
|
png_get_header_ver @181
|
||||||
|
png_get_header_version @182
|
||||||
|
png_get_libpng_ver @183
|
||||||
|
png_permit_mng_features @184
|
||||||
|
png_set_strip_error_numbers @185
|
||||||
|
png_set_user_limits @186
|
||||||
|
png_get_user_width_max @187
|
||||||
|
png_get_user_height_max @188
|
||||||
|
png_set_chunk_cache_max @189
|
||||||
|
png_get_chunk_cache_max @190
|
||||||
|
png_set_chunk_malloc_max @191
|
||||||
|
png_get_chunk_malloc_max @192
|
||||||
|
png_get_pixels_per_inch @193
|
||||||
|
png_get_x_pixels_per_inch @194
|
||||||
|
png_get_y_pixels_per_inch @195
|
||||||
|
png_get_x_offset_inches @196
|
||||||
|
png_get_y_offset_inches @197
|
||||||
|
png_get_pHYs_dpi @198
|
||||||
|
png_get_io_state @199
|
||||||
|
png_get_io_chunk_name @200
|
||||||
|
png_get_uint_32 @201
|
||||||
|
png_get_uint_16 @202
|
||||||
|
png_get_int_32 @203
|
||||||
|
png_get_uint_31 @204
|
||||||
|
png_save_uint_32 @205
|
||||||
|
png_save_int_32 @206
|
||||||
|
png_save_uint_16 @207
|
||||||
|
png_set_gamma_fixed @208
|
||||||
|
png_set_filter_heuristics_fixed @209
|
||||||
|
png_get_pixel_aspect_ratio_fixed @210
|
||||||
|
png_get_x_offset_inches_fixed @211
|
||||||
|
png_get_y_offset_inches_fixed @212
|
||||||
|
png_set_sCAL_fixed @213
|
||||||
|
png_get_sCAL_fixed @214
|
||||||
|
png_set_background_fixed @215
|
||||||
|
png_get_io_chunk_type @216
|
||||||
|
png_get_current_row_number @217
|
||||||
|
png_get_current_pass_number @218
|
||||||
|
png_process_data_pause @219
|
||||||
|
png_process_data_skip @220
|
@ -327,7 +327,7 @@ LIB_OBJS+= \
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
shared: $(NAME).dll libamz.a
|
shared: $(NAME).dll libamz.a libc.obj
|
||||||
|
|
||||||
|
|
||||||
$(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile
|
$(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile
|
||||||
@ -337,6 +337,9 @@ $(NAME).dll: $(LIB_OBJS) $(SRC_DEP) Makefile
|
|||||||
libamz.a: $(AMZ_OBJS) Makefile
|
libamz.a: $(AMZ_OBJS) Makefile
|
||||||
ar rc libamz.a $(AMZ_OBJS)
|
ar rc libamz.a $(AMZ_OBJS)
|
||||||
|
|
||||||
|
libc.obj: $(NAME).dll
|
||||||
|
fasm pe/libc.asm ./libc.obj
|
||||||
|
|
||||||
|
|
||||||
static: $(NAME).a
|
static: $(NAME).a
|
||||||
|
|
||||||
|
284
programs/develop/libraries/newlib/pe/libc.asm
Normal file
284
programs/develop/libraries/newlib/pe/libc.asm
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
|
||||||
|
struc APP_HEADER_02
|
||||||
|
{ .banner dq ?
|
||||||
|
.version dd ? ;+8
|
||||||
|
.start dd ? ;+12
|
||||||
|
.i_end dd ? ;+16
|
||||||
|
.mem_size dd ? ;+20
|
||||||
|
.stack_top dd ? ;+24
|
||||||
|
.cmdline dd ? ;+28
|
||||||
|
.path dd ? ;+32
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual at 0
|
||||||
|
app_hdr APP_HEADER_02
|
||||||
|
end virtual
|
||||||
|
|
||||||
|
format MS COFF
|
||||||
|
|
||||||
|
public EXPORTS
|
||||||
|
|
||||||
|
section '.flat' code readable align 16
|
||||||
|
|
||||||
|
EXPORTS:
|
||||||
|
dd szStart, START
|
||||||
|
dd szVersion, 0x00010001
|
||||||
|
dd szExec, exec
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
check dd 0
|
||||||
|
|
||||||
|
szStart db 'START',0
|
||||||
|
szVersion db 'version',0
|
||||||
|
szExec db 'exec',0
|
||||||
|
|
||||||
|
START:
|
||||||
|
xor eax, eax
|
||||||
|
cmp [app_hdr.path], 0
|
||||||
|
je .ret
|
||||||
|
not eax
|
||||||
|
.ret:
|
||||||
|
mov [check], eax
|
||||||
|
ret 4
|
||||||
|
|
||||||
|
align 4
|
||||||
|
exec:
|
||||||
|
cmp [check], 0
|
||||||
|
lea ebp, [esp+4]
|
||||||
|
je .fail
|
||||||
|
|
||||||
|
mov eax, [ebp+8]
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
mov ecx, [ebp]
|
||||||
|
mov edx, [ebp+4]
|
||||||
|
call validate_pe
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, [ebp]
|
||||||
|
mov ecx, [ebx+60]
|
||||||
|
mov ecx, [ecx+96+ebx] ; app stack size
|
||||||
|
add ecx, 4095
|
||||||
|
and ecx, -4096
|
||||||
|
mov ebx, 12
|
||||||
|
|
||||||
|
int 0x40
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
add ecx, eax
|
||||||
|
mov [fs:4], eax ;stack base
|
||||||
|
mov [fs:8], ecx ;stack top
|
||||||
|
|
||||||
|
mov esp, ecx
|
||||||
|
|
||||||
|
sub esp, 1024
|
||||||
|
mov eax, 9
|
||||||
|
mov ebx, esp
|
||||||
|
mov ecx, -1
|
||||||
|
int 0x40
|
||||||
|
mov eax, [ebx+30]
|
||||||
|
mov [fs:0], eax ; save pid
|
||||||
|
add esp, 1024
|
||||||
|
|
||||||
|
mov ecx, my_libc
|
||||||
|
call create_image
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
mov ebx, [eax+60]
|
||||||
|
mov ebx, [ebx+40+eax]
|
||||||
|
add ebx, eax
|
||||||
|
push ebp
|
||||||
|
push EXPORTS
|
||||||
|
push eax
|
||||||
|
call ebx
|
||||||
|
|
||||||
|
ret
|
||||||
|
|
||||||
|
.fail:
|
||||||
|
ret 4
|
||||||
|
|
||||||
|
align 4
|
||||||
|
|
||||||
|
validate_pe:
|
||||||
|
test ecx, ecx
|
||||||
|
je .L2
|
||||||
|
cmp edx, 63
|
||||||
|
jbe .L2
|
||||||
|
cmp [ecx], word 23117
|
||||||
|
je .L10
|
||||||
|
.L2:
|
||||||
|
xor eax, eax
|
||||||
|
ret
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.L10:
|
||||||
|
mov eax, [ecx+60]
|
||||||
|
test eax, eax
|
||||||
|
je .L2
|
||||||
|
add ecx, eax
|
||||||
|
jb .L2
|
||||||
|
cmp [ecx], dword 17744
|
||||||
|
jne .L2
|
||||||
|
cmp [ecx+4], word 332
|
||||||
|
jne .L2
|
||||||
|
test [ecx+23], byte 32
|
||||||
|
jne .L2
|
||||||
|
cmp [ecx+24], word 267
|
||||||
|
jne .L2
|
||||||
|
mov eax, [ecx+56]
|
||||||
|
cmp eax, 4095
|
||||||
|
ja .L3
|
||||||
|
cmp eax, [ecx+60]
|
||||||
|
jne .L2
|
||||||
|
test eax, eax
|
||||||
|
je .L2
|
||||||
|
.L5:
|
||||||
|
lea edx, [eax-1]
|
||||||
|
test edx, eax
|
||||||
|
jne .L2
|
||||||
|
mov eax, [ecx+60]
|
||||||
|
test eax, eax
|
||||||
|
je .L2
|
||||||
|
lea edx, [eax-1]
|
||||||
|
test edx, eax
|
||||||
|
jne .L2
|
||||||
|
xor eax, eax
|
||||||
|
cmp [ecx+6], word 96
|
||||||
|
setbe al
|
||||||
|
ret
|
||||||
|
.L3:
|
||||||
|
cmp eax, [ecx+60]
|
||||||
|
jae .L5
|
||||||
|
jmp .L2
|
||||||
|
|
||||||
|
align 4
|
||||||
|
create_image:
|
||||||
|
push ebp
|
||||||
|
push edi
|
||||||
|
push esi
|
||||||
|
push ebx
|
||||||
|
sub esp, 20
|
||||||
|
mov [esp+16], ecx
|
||||||
|
mov eax, [ecx+60]
|
||||||
|
add eax, ecx
|
||||||
|
mov [esp], eax
|
||||||
|
mov ecx, [eax+80]
|
||||||
|
mov ebx, 12
|
||||||
|
mov eax, 68
|
||||||
|
int 0x40
|
||||||
|
test eax, eax
|
||||||
|
je .L16
|
||||||
|
|
||||||
|
mov edx, [esp]
|
||||||
|
mov ecx, [edx+84]
|
||||||
|
mov esi, [esp+16]
|
||||||
|
mov edi, eax
|
||||||
|
shr ecx, 2
|
||||||
|
rep movsd
|
||||||
|
mov cx, [edx+6]
|
||||||
|
test cx, cx
|
||||||
|
je .L17
|
||||||
|
add edx, 248
|
||||||
|
movzx ecx, cx
|
||||||
|
lea ebp, [ecx-1]
|
||||||
|
xor bl, bl
|
||||||
|
jmp .L19
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.L31:
|
||||||
|
add edx, 40
|
||||||
|
inc ebx
|
||||||
|
.L19:
|
||||||
|
mov ecx, [edx+16]
|
||||||
|
test ecx, ecx
|
||||||
|
je .L18
|
||||||
|
mov esi, [edx+20]
|
||||||
|
test esi, esi
|
||||||
|
je .L18
|
||||||
|
add esi, [esp+16]
|
||||||
|
mov edi, [edx+12]
|
||||||
|
add edi, eax
|
||||||
|
|
||||||
|
shr ecx, 2
|
||||||
|
rep movsd
|
||||||
|
|
||||||
|
.L18:
|
||||||
|
cmp ebx, ebp
|
||||||
|
jne .L31
|
||||||
|
.L17:
|
||||||
|
mov edx, [esp]
|
||||||
|
mov ecx, [edx+164]
|
||||||
|
test ecx, ecx
|
||||||
|
je .L16
|
||||||
|
|
||||||
|
mov ebp, eax
|
||||||
|
sub ebp, [edx+52]
|
||||||
|
mov ebx, [edx+160]
|
||||||
|
add ebx, eax
|
||||||
|
mov esi, [ebx+4]
|
||||||
|
test esi, esi
|
||||||
|
je .L16
|
||||||
|
|
||||||
|
mov edi, ebp
|
||||||
|
shr edi, 16
|
||||||
|
mov [esp], di
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.L26:
|
||||||
|
lea edi, [esi-8]
|
||||||
|
shr edi, 1
|
||||||
|
je .L20
|
||||||
|
xor ecx, ecx
|
||||||
|
jmp .L25
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.L32:
|
||||||
|
cmp si, 3
|
||||||
|
je .L24
|
||||||
|
dec si
|
||||||
|
jne .L21
|
||||||
|
mov esi, [esp]
|
||||||
|
add [eax+edx], si
|
||||||
|
.L21:
|
||||||
|
inc ecx
|
||||||
|
cmp ecx, edi
|
||||||
|
je .L20
|
||||||
|
.L25:
|
||||||
|
mov si, [ebx+8+ecx*2]
|
||||||
|
mov edx, esi
|
||||||
|
and edx, 4095
|
||||||
|
add edx, [ebx]
|
||||||
|
shr si, 12
|
||||||
|
cmp si, 2
|
||||||
|
jne .L32
|
||||||
|
add [eax+edx], bp
|
||||||
|
inc ecx
|
||||||
|
cmp ecx, edi
|
||||||
|
jne .L25
|
||||||
|
.L20:
|
||||||
|
add ebx, [ebx+4]
|
||||||
|
mov esi, [ebx+4]
|
||||||
|
test esi, esi
|
||||||
|
jne .L26
|
||||||
|
.L16:
|
||||||
|
add esp, 20
|
||||||
|
pop ebx
|
||||||
|
pop esi
|
||||||
|
pop edi
|
||||||
|
pop ebp
|
||||||
|
ret
|
||||||
|
|
||||||
|
align 4
|
||||||
|
.L24:
|
||||||
|
add [eax+edx], ebp
|
||||||
|
jmp .L21
|
||||||
|
|
||||||
|
|
||||||
|
align 16
|
||||||
|
my_libc:
|
||||||
|
file '../libc.dll'
|
@ -523,7 +523,7 @@ int __fastcall link_image(void *img_base)
|
|||||||
}
|
}
|
||||||
else if (minn == maxn)
|
else if (minn == maxn)
|
||||||
{
|
{
|
||||||
printf(" unresolved\n",imp_name->Name);
|
printf(" unresolved %s\n",imp_name->Name);
|
||||||
warn=1;
|
warn=1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
133
programs/develop/libraries/newlib/tests/pe_demo.asm
Normal file
133
programs/develop/libraries/newlib/tests/pe_demo.asm
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
|
||||||
|
use32
|
||||||
|
|
||||||
|
LIBC_VERSION = 1
|
||||||
|
DLL_ENTRY = 1
|
||||||
|
|
||||||
|
db 'MENUET02'
|
||||||
|
dd 1
|
||||||
|
dd start
|
||||||
|
dd i_end
|
||||||
|
dd mem
|
||||||
|
dd mem
|
||||||
|
dd cmdline
|
||||||
|
dd path
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
align 4
|
||||||
|
start:
|
||||||
|
mov eax, LIBC_VERSION
|
||||||
|
mov ecx, sz_libc
|
||||||
|
mov edx, libc
|
||||||
|
call load_library
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
push dword 0 ; no environment
|
||||||
|
push cmdline
|
||||||
|
push path
|
||||||
|
push (my_app_end - my_app)
|
||||||
|
push my_app
|
||||||
|
call [libc.imp_exec]
|
||||||
|
|
||||||
|
ret
|
||||||
|
.fail:
|
||||||
|
or eax, -1
|
||||||
|
int 0x40
|
||||||
|
|
||||||
|
align 4
|
||||||
|
load_library: ;eax=VERSION ecx=library path edx=import section
|
||||||
|
|
||||||
|
sub esp, 16
|
||||||
|
mov [esp+8], edx
|
||||||
|
mov [esp+12], eax
|
||||||
|
|
||||||
|
mov eax, 68
|
||||||
|
mov ebx, 19
|
||||||
|
int 0x40
|
||||||
|
test eax, eax
|
||||||
|
jz .fail
|
||||||
|
|
||||||
|
mov [esp+4], eax
|
||||||
|
mov esi, edx ;import section
|
||||||
|
mov edx, eax ;export section
|
||||||
|
.import_loop:
|
||||||
|
lodsd
|
||||||
|
test eax, eax
|
||||||
|
jz .import_done
|
||||||
|
.import_find:
|
||||||
|
mov ebx, [edx]
|
||||||
|
test ebx, ebx
|
||||||
|
jz .fail ;import_not_found
|
||||||
|
|
||||||
|
mov [esp], eax ;import name
|
||||||
|
@@:
|
||||||
|
mov cl, [eax]
|
||||||
|
cmp cl, [ebx]
|
||||||
|
jnz .import_find_next
|
||||||
|
|
||||||
|
test cl, cl
|
||||||
|
jz .import_found
|
||||||
|
|
||||||
|
inc eax
|
||||||
|
inc ebx
|
||||||
|
jmp @b
|
||||||
|
|
||||||
|
.import_find_next:
|
||||||
|
mov eax, [esp]
|
||||||
|
add edx, 8
|
||||||
|
jmp .import_find
|
||||||
|
|
||||||
|
.import_found:
|
||||||
|
mov eax, [edx+4]
|
||||||
|
mov [esi-4], eax
|
||||||
|
mov edx, [esp+4]
|
||||||
|
jmp .import_loop
|
||||||
|
.import_done:
|
||||||
|
|
||||||
|
mov edx, [esp+8]
|
||||||
|
mov eax, [esp+12]
|
||||||
|
|
||||||
|
cmp word [edx+4], ax
|
||||||
|
jb .fail
|
||||||
|
cmp word [edx+6], ax
|
||||||
|
ja .fail
|
||||||
|
|
||||||
|
push DLL_ENTRY
|
||||||
|
call dword [edx]
|
||||||
|
.fail:
|
||||||
|
add esp, 16
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
sz_libc db '/sys/lib/libc.obj',0
|
||||||
|
|
||||||
|
szStart db 'START',0
|
||||||
|
szVersion db 'version',0
|
||||||
|
szExec db 'exec',0
|
||||||
|
|
||||||
|
libc:
|
||||||
|
|
||||||
|
.imp_start dd szStart
|
||||||
|
.imp_ver dd szVersion
|
||||||
|
.imp_exec dd szExec
|
||||||
|
dd 0
|
||||||
|
|
||||||
|
; keep this aligned
|
||||||
|
align 16
|
||||||
|
my_app:
|
||||||
|
file 'myapp.exe'
|
||||||
|
my_app_end:
|
||||||
|
|
||||||
|
|
||||||
|
; keep this aligned
|
||||||
|
align 4
|
||||||
|
i_end:
|
||||||
|
|
||||||
|
path rb 1024
|
||||||
|
cmdline rb 256
|
||||||
|
rb 128 ;required stack
|
||||||
|
; keep this aligned
|
||||||
|
align 4096
|
||||||
|
mem:
|
||||||
|
|
@ -6,9 +6,9 @@ CC = gcc
|
|||||||
CFLAGS = -c -O2 -mmmx -Winline -fomit-frame-pointer
|
CFLAGS = -c -O2 -mmmx -Winline -fomit-frame-pointer
|
||||||
|
|
||||||
LDIMPORT:= -nostdlib --out-implib libpiximp.a --exclude-libs libamz.a
|
LDIMPORT:= -nostdlib --out-implib libpiximp.a --exclude-libs libamz.a
|
||||||
LDFLAGS:= -shared -s -T ../newlib/dll.lds -Map map --image-base 0
|
LDFLAGS:= -shared -s -T ../newlib/dll.lds --image-base 0
|
||||||
|
|
||||||
DEFINES = -DHAVE_CONFIG_H -DPIXMAN_NO_TLS -D__DYNAMIC_REENT__ -DUSE_MMX
|
DEFINES = -DHAVE_CONFIG_H -DPIXMAN_NO_TLS -DUSE_MMX
|
||||||
|
|
||||||
INCLUDES = -I../pixman -I../newlib/include
|
INCLUDES = -I../pixman -I../newlib/include
|
||||||
|
|
||||||
@ -61,5 +61,6 @@ $(LIBRARY).dll: $(OBJECTS) Makefile
|
|||||||
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f *.o
|
||||||
|
|
@ -7,9 +7,9 @@ CPP=gcc -E
|
|||||||
|
|
||||||
CFLAGS= -O3 -c -fomit-frame-pointer
|
CFLAGS= -O3 -c -fomit-frame-pointer
|
||||||
|
|
||||||
LDIMPORT:= -nostdlib
|
LDIMPORT:= -nostdlib --out-implib libzimp.a
|
||||||
|
|
||||||
LDFLAGS:= -shared -s -T ../newlib/dll.lds -Map map --image-base 0
|
LDFLAGS:= -shared -s -T ../newlib/dll.lds --image-base 0
|
||||||
|
|
||||||
INCLUDES= -I../newlib/include
|
INCLUDES= -I../newlib/include
|
||||||
|
|
||||||
@ -30,14 +30,14 @@ OBJA =
|
|||||||
|
|
||||||
OBJS = $(OBJC) $(OBJA)
|
OBJS = $(OBJC) $(OBJA)
|
||||||
|
|
||||||
all: libz.a libz.dll
|
all: libz.a zlib.dll
|
||||||
|
|
||||||
libz.a: $(OBJS)
|
libz.a: $(OBJS)
|
||||||
$(AR) $@ $(OBJS)
|
$(AR) $@ $(OBJS)
|
||||||
|
|
||||||
libz.dll: $(OBJECTS) Makefile
|
zlib.dll: $(OBJECTS) Makefile
|
||||||
dlltool -d zlib.def -Dlibz.dll -e exports.o -l libzimp.a
|
# dlltool -d zlib.def -Dlibz.dll -e exports.o -l libzimp.a
|
||||||
ld $(LDFLAGS) $(LDIMPORT) --exclude-all-symbols $(LIBPATH) -o $@ $(OBJS) exports.o $(LIBS)
|
ld $(LDFLAGS) $(LDIMPORT) $(LIBPATH) -o $@ $(OBJS) $(LIBS) zlib.def
|
||||||
|
|
||||||
|
|
||||||
%.o: %.c Makefile
|
%.o: %.c Makefile
|
||||||
|
Loading…
Reference in New Issue
Block a user