diff options
Diffstat (limited to 'expat_watcom')
-rw-r--r-- | expat_watcom/Makefile.watcom | 116 | ||||
-rw-r--r-- | expat_watcom/expat_external.h | 117 |
2 files changed, 233 insertions, 0 deletions
diff --git a/expat_watcom/Makefile.watcom b/expat_watcom/Makefile.watcom new file mode 100644 index 0000000..329d0b0 --- /dev/null +++ b/expat_watcom/Makefile.watcom @@ -0,0 +1,116 @@ +# libexpat Open Watcom Makefile (tested with libexpat 2.0.1)
+# creates expat.dll and expat.lib import library
+# watcomconfig.h - if provided - may contain additional macro definitions
+
+ccl = owcc
+link = wlink
+strip = wstrip
+libman = wlib
+
+exeext = .exe
+dllext = .dll
+objext = .obj
+libext = .lib
+
+incl =
+
+optimization = -O3 -mtune=i386
+# ^ adapt to your system architecture etc.
+cflags = -shared -std=c99 -fno-short-enum $optimization
+lstats = sys OS2V2_DLL
+# ^ adapt to your system target
+
+defs = -DHAVE_MEMMOVE -DHAVE_BCOPY -DHAVE_GETPAGESIZE -DHAVE_MMAP -DSTDC_HEADERS
+#defs += -DXML_DTD -DXML_NS
+# ^ unrem to enable DTD parsing and XML namespaces
+
+manifest = xmlparse.c xmltok.c xmlrole.c
+objects = $(manifest:.c=$objext)
+
+exports = &
+ XML_SetElementDeclHandler &
+ XML_SetAttlistDeclHandler &
+ XML_SetXmlDeclHandler &
+ XML_ParserCreate &
+ XML_ParserCreateNS &
+ XML_ParserCreate_MM &
+ XML_ParserReset &
+ XML_SetEntityDeclHandler &
+ XML_SetElementHandler &
+ XML_SetStartElementHandler &
+ XML_SetEndElementHandler &
+ XML_SetCharacterDataHandler &
+ XML_SetProcessingInstructionHandler &
+ XML_SetCommentHandler &
+ XML_SetCdataSectionHandler &
+ XML_SetStartCdataSectionHandler &
+ XML_SetEndCdataSectionHandler &
+ XML_SetDefaultHandler &
+ XML_SetDefaultHandlerExpand &
+ XML_SetDoctypeDeclHandler &
+ XML_SetStartDoctypeDeclHandler &
+ XML_SetEndDoctypeDeclHandler &
+ XML_SetUnparsedEntityDeclHandler &
+ XML_SetNotationDeclHandler &
+ XML_SetNamespaceDeclHandler &
+ XML_SetStartNamespaceDeclHandler &
+ XML_SetEndNamespaceDeclHandler &
+ XML_SetNotStandaloneHandler &
+ XML_SetExternalEntityRefHandler &
+ XML_SetExternalEntityRefHandlerArg &
+ XML_SetSkippedEntityHandler &
+ XML_SetUnknownEncodingHandler &
+ XML_DefaultCurrent &
+ XML_SetReturnNSTriplet &
+ XML_SetUserData &
+ XML_SetEncoding &
+ XML_UseParserAsHandlerArg &
+ XML_UseForeignDTD &
+ XML_SetBase &
+ XML_GetBase &
+ XML_GetSpecifiedAttributeCount &
+ XML_GetIdAttributeIndex &
+ XML_Parse &
+ XML_GetBuffer &
+ XML_ParseBuffer &
+ XML_StopParser &
+ XML_ResumeParser &
+ XML_GetParsingStatus &
+ XML_ExternalEntityParserCreate &
+ XML_SetParamEntityParsing &
+ XML_GetErrorCode &
+ XML_GetCurrentLineNumber &
+ XML_GetCurrentColumnNumber &
+ XML_GetCurrentByteIndex &
+ XML_GetCurrentByteCount &
+ XML_GetInputContext &
+ XML_FreeContentModel &
+ XML_MemMalloc &
+ XML_MemRealloc &
+ XML_MemFree &
+ XML_ParserFree &
+ XML_ErrorString &
+ XML_ExpatVersion &
+ XML_ExpatVersionInfo &
+ XML_GetFeatureList
+
+all : watcomconfig.h expat$libext .symbolic
+
+watcomconfig.h:
+ touch $^@
+
+expat$libext : expat$dllext
+ $libman -n -b $^@ +$[@
+
+expat$dllext : $objects
+ $link $lstats n $^@ f {$<} exp {$exports}
+ $strip -n $^@
+# ^ rem to disable debugging symbol stripping
+
+.c$objext:
+ $ccl $cflags $incl $defs -c -o $^@ $[@
+
+clean: .symbolic
+ @for %i in ($objects expat$dllext expat$libext) do &
+ @if exist %i del %i
+
diff --git a/expat_watcom/expat_external.h b/expat_watcom/expat_external.h new file mode 100644 index 0000000..9961799 --- /dev/null +++ b/expat_watcom/expat_external.h @@ -0,0 +1,117 @@ +/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd + See the file COPYING for copying permission. +*/ + +#ifndef Expat_External_INCLUDED +#define Expat_External_INCLUDED 1 + +/* External API definitions */ + +#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) +#define XML_USE_MSC_EXTENSIONS 1 +#endif + +/* Expat tries very hard to make the API boundary very specifically + defined. There are two macros defined to control this boundary; + each of these can be defined before including this header to + achieve some different behavior, but doing so it not recommended or + tested frequently. + + XMLCALL - The calling convention to use for all calls across the + "library boundary." This will default to cdecl, and + try really hard to tell the compiler that's what we + want. + + XMLIMPORT - Whatever magic is needed to note that a function is + to be imported from a dynamically loaded library + (.dll, .so, or .sl, depending on your platform). + + The XMLCALL macro was added in Expat 1.95.7. The only one which is + expected to be directly useful in client code is XMLCALL. + + Note that on at least some Unix versions, the Expat library must be + compiled with the cdecl calling convention as the default since + system headers may assume the cdecl convention. +*/ +#ifndef XMLCALL +#if defined(_MSC_VER) +#define XMLCALL __cdecl +#elif defined(__WATCOMC__) && defined(__OS2__) +#define XMLCALL __syscall +#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER) +#define XMLCALL __attribute__((cdecl)) +#else +/* For any platform which uses this definition and supports more than + one calling convention, we need to extend this definition to + declare the convention used on that platform, if it's possible to + do so. + + If this is the case for your platform, please file a bug report + with information on how to identify your platform via the C + pre-processor and how to specify the same calling convention as the + platform's malloc() implementation. +*/ +#define XMLCALL +#endif +#endif /* not defined XMLCALL */ + + +#if !defined(XML_STATIC) && !defined(XMLIMPORT) +#ifndef XML_BUILDING_EXPAT +/* using Expat from an application */ + +#ifdef XML_USE_MSC_EXTENSIONS +#define XMLIMPORT __declspec(dllimport) +#endif + +#endif +#endif /* not defined XML_STATIC */ + + +/* If we didn't define it above, define it away: */ +#ifndef XMLIMPORT +#define XMLIMPORT +#endif + + +#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef XML_UNICODE_WCHAR_T +#define XML_UNICODE +#endif + +#ifdef XML_UNICODE /* Information is UTF-16 encoded. */ +#ifdef XML_UNICODE_WCHAR_T +typedef wchar_t XML_Char; +typedef wchar_t XML_LChar; +#else +typedef unsigned short XML_Char; +typedef char XML_LChar; +#endif /* XML_UNICODE_WCHAR_T */ +#else /* Information is UTF-8 encoded. */ +typedef char XML_Char; +typedef char XML_LChar; +#endif /* XML_UNICODE */ + +#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */ +#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400 +typedef __int64 XML_Index; +typedef unsigned __int64 XML_Size; +#else +typedef long long XML_Index; +typedef unsigned long long XML_Size; +#endif +#else +typedef long XML_Index; +typedef unsigned long XML_Size; +#endif /* XML_LARGE_SIZE */ + +#ifdef __cplusplus +} +#endif + +#endif /* not Expat_External_INCLUDED */ |