aboutsummaryrefslogtreecommitdiff
path: root/expat_watcom
diff options
context:
space:
mode:
Diffstat (limited to 'expat_watcom')
-rw-r--r--expat_watcom/Makefile.watcom116
-rw-r--r--expat_watcom/expat_external.h117
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 */