diff --git a/CHANGES.md b/CHANGES.md index 2ace3b8..8b71e0e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +# Changes in Mini-XML 4.0.0 + +- Now require C99 support. +- Renamed `mxml_type_t` enumerations to `MXML_TYPE_xxx`. + + # Changes in Mini-XML 3.3.2 - Updated the autoconf `config.guess` and `config.sub` scripts to support cross diff --git a/README.md b/README.md index a0ef367..936a5e3 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,7 @@ files "LICENSE" and "NOTICE" for more information. > Note: The exception listed in the NOTICE file only applies when linking > against GPL2/LGPL2-only software. Some Apache License purists have objected -> to linking Apache Licensed code against Mini-XML with these exceptions on the +> to linking Apa/che Licensed code against Mini-XML with these exceptions on the > grounds that it makes Mini-XML somehow incompatible with the Apache License. > For that reason, people wishing to retain their Apache License purity may > omit the exception from their copy of Mini-XML. diff --git a/SECURITY.md b/SECURITY.md index 3db4e18..5b1c184 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -5,6 +5,25 @@ This file describes how security issues are reported and handled, and what the expectations are for security issues reported to this project. +Reporting a Security Bug +------------------------ + +For the purposes of this project, a security bug is a software defect that +allows a *local or remote user* to gain unauthorized access or privileges on the +host computer or to cause the software to crash. Such defects should be +reported to the project security advisory page at +. + +Alternately, security bugs can be reported to "security AT msweet.org" using the +PGP public key below. Expect a response within 5 business days. Any proposed +embargo date should be at least 30 days and no more than 90 days in the future. + +> *Note:* If you've found a software defect that allows a *program* to gain +> unauthorized access or privileges on the host computer or causes the program +> to crash, that defect should be reported as an ordinary project issue at +> . + + Responsible Disclosure ---------------------- @@ -35,7 +54,7 @@ starting at 0. A feature release has a "PATCH" value of 0, for example: 1.1.0 2.0.0 -Beta releases and release candidates are *not* prodution releases and use +Beta releases and release candidates are *not* production releases and use semantic version numbers of the form: MAJOR.MINORbNUMBER @@ -50,14 +69,6 @@ example: 1.0rc1 -Reporting a Vulnerability -------------------------- - -Report all security issues to "security AT msweet.org". Expect a response -within 5 business days. Any proposed embargo date should be at least 30 days -and no more than 90 days in the future. - - PGP Public Key -------------- diff --git a/configure b/configure index 2939faa..77f7f1d 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Mini-XML 4.0b1. +# Generated by GNU Autoconf 2.71 for Mini-XML 4.0.0. # # Report bugs to . # @@ -610,8 +610,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Mini-XML' PACKAGE_TARNAME='mxml' -PACKAGE_VERSION='4.0b1' -PACKAGE_STRING='Mini-XML 4.0b1' +PACKAGE_VERSION='4.0.0' +PACKAGE_STRING='Mini-XML 4.0.0' PACKAGE_BUGREPORT='https://github.com/michaelrsweet/mxml/issues' PACKAGE_URL='https://www.msweet.org/mxml' @@ -1296,7 +1296,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Mini-XML 4.0b1 to adapt to many kinds of systems. +\`configure' configures Mini-XML 4.0.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1362,7 +1362,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Mini-XML 4.0b1:";; + short | recursive ) echo "Configuration of Mini-XML 4.0.0:";; esac cat <<\_ACEOF @@ -1463,7 +1463,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Mini-XML configure 4.0b1 +Mini-XML configure 4.0.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1662,7 +1662,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Mini-XML $as_me 4.0b1, which was +It was created by Mini-XML $as_me 4.0.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2420,7 +2420,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" -MXML_VERSION="4.0b1" +MXML_VERSION="4.0.0" printf "%s\n" "#define MXML_VERSION \"Mini-XML v$MXML_VERSION\"" >>confdefs.h @@ -4193,7 +4193,8 @@ then : if test "x$ac_cv_header_pthread_h" = xyes then : - printf "%s\n" "#define HAVE_PTHREAD_H Have ?" >>confdefs.h + +printf "%s\n" "#define HAVE_PTHREAD_H 1" >>confdefs.h fi @@ -5244,7 +5245,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Mini-XML $as_me 4.0b1, which was +This file was extended by Mini-XML $as_me 4.0.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5309,7 +5310,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Mini-XML config.status 4.0b1 +Mini-XML config.status 4.0.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 0ca1e9e..f7f7d68 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ AC_PREREQ([2.70]) dnl Package name and version... -AC_INIT([Mini-XML], [4.0b1], [https://github.com/michaelrsweet/mxml/issues], [mxml], [https://www.msweet.org/mxml]) +AC_INIT([Mini-XML], [4.0.0], [https://github.com/michaelrsweet/mxml/issues], [mxml], [https://www.msweet.org/mxml]) AC_CONFIG_HEADERS([config.h]) MXML_VERSION="AC_PACKAGE_VERSION" @@ -93,7 +93,7 @@ AC_ARG_ENABLE([threads], AS_HELP_STRING([--disable-threads], [disable multi-thre have_pthread=no AS_IF([test "x$enable_threads" != xno], [ AC_CHECK_HEADER([pthread.h], [ - AC_DEFINE([HAVE_PTHREAD_H], [Have ?]) + AC_DEFINE([HAVE_PTHREAD_H], [1], [Have ?]) ]) AS_IF([test x$ac_cv_header_pthread_h = xyes], [ diff --git a/makesrcdist b/makesrcdist index 80f691b..c9188dc 100755 --- a/makesrcdist +++ b/makesrcdist @@ -1,6 +1,13 @@ #!/bin/sh # -# makesrcdist - make a source distribution of mxml. +# makesrcdist - make a source distribution of Mini-XML. +# +# https://www.msweet.org/mxml +# +# Copyright © 2003-2024 by Michael R Sweet. +# +# Licensed under Apache License v2.0. See the file "LICENSE" for more +# information. # if test $# != 1; then @@ -8,8 +15,60 @@ if test $# != 1; then exit 1 fi + +# Check that various files are up-to-date... version=$1 +version_major=$(echo $version | awk -F. '{print $1}') +version_minor=$(echo $version | awk -F. '{print $2}') + +status=0 + +if ! grep -q "Changes in Mini-XML $version" CHANGES.md; then + echo "Update CHANGES.md." + status=1 +fi + +if test "$(grep AC_INIT configure.ac | awk '{print $2}')" != "[$version],"; then + echo "Update configure.ac." + status=1 +fi + +if test "$(grep MXML_MAJOR_VERSION mxml.h | awk '{print $4}')" != "$version_major"; then + echo "Update MXML_MAJOR_VERSION in mxml.h." + status=1 +fi + +if test "$(grep MXML_MINOR_VERSION mxml.h | awk '{print $4}')" != "$version_minor"; then + echo "Update MXML_MINOR_VERSION in mxml.h." + status=1 +fi + +if ! grep -q "Version: $version" mxml.spec; then + echo "Update mxml.spec." + status=1 +fi + +if ! grep -q "$version" vcnet/libmxml2_native.nuspec; then + echo "Update vcnet/libmxml2_native.nuspec." + status=1 +fi +if ! grep -q "version=\"$version\" />" vcnet/libmxml2_native.nuspec; then + echo "Update vcnet/libmxml2_native.nuspec." + status=1 +fi + +if ! grep -q "$version" vcnet/libmxml2_native.redist.nuspec; then + echo "Update vcnet/libmxml2_native.redist.nuspec." + status=1 +fi + +if test $status = 1; then + exit 1 +fi + + +# Create tag and archives... echo Creating tag for release... git tag -m "Tag $version" v$version git push origin v$version diff --git a/mxml.spec b/mxml.spec index 1accf93..b44dcca 100644 --- a/mxml.spec +++ b/mxml.spec @@ -3,7 +3,7 @@ # # https://www.msweet.org/mxml # -# Copyright © 2003-2019 by Michael R Sweet. +# Copyright © 2003-2024 by Michael R Sweet. # # Licensed under Apache License v2.0. See the file "LICENSE" for more # information. @@ -11,7 +11,7 @@ Summary: Small XML file parsing library Name: mxml -Version: 3.2 +Version: 4.0.0 Release: 1 License: Apache 2.0 Group: Development/Libraries diff --git a/vcnet/config.h b/vcnet/config.h index bf9207c..ec18e38 100644 --- a/vcnet/config.h +++ b/vcnet/config.h @@ -1,137 +1,84 @@ -/* - * Visual Studio configuration file for Mini-XML, a small XML file parsing - * library. - * - * Copyright 2003-2021 by Michael R Sweet. - * - * These coded instructions, statements, and computer programs are the - * property of Michael R Sweet and are protected by Federal copyright - * law. Distribution and use rights are outlined in the file "COPYING" - * which should have been included with this file. If this file is - * missing or damaged, see the license at: - * - * https://michaelrsweet.github.io/mxml - */ +// +// Visual Studio configuration file for Mini-XML, a small XML file parsing +// library. +// +// https://www.msweet.org/mxml +// +// Copyright © 2003-2024 by Michael R Sweet. +// +// Licensed under Apache License v2.0. See the file "LICENSE" for more +// information. +// -/* - * Beginning with VC2005, Microsoft breaks ISO C and POSIX conformance - * by deprecating a number of functions in the name of security, even - * when many of the affected functions are otherwise completely secure. - * The _CRT_SECURE_NO_DEPRECATE definition ensures that we won't get - * warnings from their use... - * - * Then Microsoft decided that they should ignore this in VC2008 and use - * yet another define (_CRT_SECURE_NO_WARNINGS) instead... - */ +#ifndef MXML_CONFIG_H +# define MXML_CONFIG_H -#define _CRT_SECURE_NO_DEPRECATE -#define _CRT_SECURE_NO_WARNINGS +// +// Beginning with VC2005, Microsoft breaks ISO C and POSIX conformance +// by deprecating a number of functions in the name of security, even +// when many of the affected functions are otherwise completely secure. +// The _CRT_SECURE_NO_DEPRECATE definition ensures that we won't get +// warnings from their use... +// +// Then Microsoft decided that they should ignore this in VC2008 and use +// yet another define (_CRT_SECURE_NO_WARNINGS) instead... +// + +# define _CRT_SECURE_NO_DEPRECATE +# define _CRT_SECURE_NO_WARNINGS +# include +# include +# include +# include +# include +# include -/* - * Include necessary headers... - */ +// +// Microsoft also renames the POSIX functions to _name, and introduces +// a broken compatibility layer using the original names. As a result, +// random crashes can occur when, for example, strdup() allocates memory +// from a different heap than used by malloc() and free(). +// +// To avoid moronic problems like this, we #define the POSIX function +// names to the corresponding non-standard Microsoft names. +// -#include -#include -#include -#include -#include -#include +# define close _close +# define open _open +# define read _read +# define snprintf _snprintf +# define strdup _strdup +# define vsnprintf _vsnprintf +# define write _write -/* - * Microsoft also renames the POSIX functions to _name, and introduces - * a broken compatibility layer using the original names. As a result, - * random crashes can occur when, for example, strdup() allocates memory - * from a different heap than used by malloc() and free(). - * - * To avoid moronic problems like this, we #define the POSIX function - * names to the corresponding non-standard Microsoft names. - */ +// +// Version number +// -#define close _close -#define open _open -#define read _read -#define snprintf _snprintf -#define strdup _strdup -#define vsnprintf _vsnprintf -#define write _write +# define MXML_VERSION "Mini-XML v4.0b1" -/* - * Version number... - */ +// +// Inline function support +// -#define MXML_VERSION "Mini-XML v3.3.1" +# define inline _inline -/* - * Inline function support... - */ +// +// Long long support +// -#define inline _inline +# define HAVE_LONG_LONG_INT 1 -/* - * Long long support... - */ +// +// Have ? +// -#define HAVE_LONG_LONG_INT 1 +//# undef HAVE_PTHREAD_H -/* - * Do we have the *printf() functions? - */ - -#define HAVE_SNPRINTF 1 -/* #undef HAVE_VASPRINTF */ -#define HAVE_VSNPRINTF 1 - - -/* - * Do we have the strXXX() functions? - */ - -#define HAVE_STRDUP 1 -/* #undef HAVE_STRLCPY */ - - -/* - * Do we have threading support? - */ - -/* #undef HAVE_PTHREAD_H */ - - -/* - * Define prototypes for string functions as needed... - */ - -# ifndef HAVE_STRDUP -extern char *_mxml_strdup(const char *); -# define strdup _mxml_strdup -# endif /* !HAVE_STRDUP */ - -# ifndef HAVE_STRLCAT -extern size_t _mxml_strlcat(char *, const char *, size_t); -# define strlcat _mxml_strlcat -# endif /* !HAVE_STRLCAT */ - -# ifndef HAVE_STRLCPY -extern size_t _mxml_strlcpy(char *, const char *, size_t); -# define strlcpy _mxml_strlcpy -# endif /* !HAVE_STRLCPY */ - -extern char *_mxml_strdupf(const char *, ...); -extern char *_mxml_vstrdupf(const char *, va_list); - -# ifndef HAVE_SNPRINTF -extern int _mxml_snprintf(char *, size_t, const char *, ...); -# define snprintf _mxml_snprintf -# endif /* !HAVE_SNPRINTF */ - -# ifndef HAVE_VSNPRINTF -extern int _mxml_vsnprintf(char *, size_t, const char *, va_list); -# define vsnprintf _mxml_vsnprintf -# endif /* !HAVE_VSNPRINTF */ +#endif // !MXML_CONFIG_H diff --git a/vcnet/libmxml1_native.nuspec b/vcnet/libmxml2_native.nuspec similarity index 74% rename from vcnet/libmxml1_native.nuspec rename to vcnet/libmxml2_native.nuspec index 198eb86..0a06fb0 100644 --- a/vcnet/libmxml1_native.nuspec +++ b/vcnet/libmxml2_native.nuspec @@ -1,9 +1,9 @@ - libmxml1_native + libmxml2_native Small XML File Parsing Library for VS2019+ - 3.3.0 + 4.0.0 Michael R Sweet michaelrsweet https://github.com/michaelrsweet/mxml @@ -13,18 +13,18 @@ false Small XML File Parsing Library Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your application without requiring large non-standard libraries. - Copyright © 2003-2021 by Michael R Sweet + Copyright © 2003-2024 by Michael R Sweet xml - + - + - - + + diff --git a/vcnet/libmxml1_native.props b/vcnet/libmxml2_native.props similarity index 87% rename from vcnet/libmxml1_native.props rename to vcnet/libmxml2_native.props index 0663bd1..8172c92 100644 --- a/vcnet/libmxml1_native.props +++ b/vcnet/libmxml2_native.props @@ -5,7 +5,7 @@ $(MSBuildThisFileDirectory)\include - $(MSBuildThisFileDirectory)\lib\$(Platform)\$(Configuration)\libmxml1.lib;%(AdditionalDependencies) + $(MSBuildThisFileDirectory)\lib\$(Platform)\$(Configuration)\libmxml2.lib;%(AdditionalDependencies) diff --git a/vcnet/libmxml1_native.redist.nuspec b/vcnet/libmxml2_native.redist.nuspec similarity index 77% rename from vcnet/libmxml1_native.redist.nuspec rename to vcnet/libmxml2_native.redist.nuspec index c06611a..db80e0a 100644 --- a/vcnet/libmxml1_native.redist.nuspec +++ b/vcnet/libmxml2_native.redist.nuspec @@ -1,9 +1,9 @@ - libmxml1_native.redist + libmxml2_native.redist Small XML File Parsing Library for VS2019+ Redist - 3.3.0 + 4.0.0 Michael R Sweet michaelrsweet https://github.com/michaelrsweet/mxml @@ -11,15 +11,15 @@ build/native/mxml-128.png build/native/README.md false - Redistributable components for package 'libmxml1_native'. This package should only be installed as a dependency. + Redistributable components for package 'libmxml2_native'. This package should only be installed as a dependency. Mini-XML is a small XML parsing library that you can use to read XML data files or strings in your application without requiring large non-standard libraries. This package provides the redistributable content for Mini-XML. - Copyright © 2003-2021 by Michael R Sweet + Copyright © 2003-2024 by Michael R Sweet xml - - + + diff --git a/vcnet/mxml.sln b/vcnet/mxml.sln index e4cd658..0149c6c 100644 --- a/vcnet/mxml.sln +++ b/vcnet/mxml.sln @@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30204.135 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mxml1", "mxml1.vcxproj", "{E5AA9476-9751-4654-8109-B1A2112D5E73}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mxml2", "mxml2.vcxproj", "{E5AA9476-9751-4654-8109-B1A2112D5E73}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testmxml", "testmxml.vcxproj", "{75CAC6C4-A6BC-4935-A3C9-8F0AE0744227}" ProjectSection(ProjectDependencies) = postProject diff --git a/vcnet/mxml1.def b/vcnet/mxml2.def similarity index 89% rename from vcnet/mxml1.def rename to vcnet/mxml2.def index cc78526..0c98583 100644 --- a/vcnet/mxml1.def +++ b/vcnet/mxml2.def @@ -1,8 +1,5 @@ -LIBRARY "MXML1" +LIBRARY "MXML2" EXPORTS - _mxml_strdupf - _mxml_strlcpy - _mxml_vstrdupf mxml_ignore_cb mxml_integer_cb mxml_opaque_cb diff --git a/vcnet/mxml1.vcxproj b/vcnet/mxml2.vcxproj similarity index 94% rename from vcnet/mxml1.vcxproj rename to vcnet/mxml2.vcxproj index 3369f13..12307ce 100644 --- a/vcnet/mxml1.vcxproj +++ b/vcnet/mxml2.vcxproj @@ -100,15 +100,15 @@ EditAndContinue - $(Platform)\$(Configuration)\$(ProductName)\mxml1.dll + $(Platform)\$(Configuration)\$(ProductName)\mxml2.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) - .\mxml1.def + .\mxml2.def true - $(OutDir)mxml1.pdb + $(OutDir)mxml2.pdb Windows false - $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml2.lib MachineX86 @@ -122,16 +122,16 @@ ProgramDatabase - $(Platform)\$(Configuration)\$(ProductName)\mxml1.dll + $(Platform)\$(Configuration)\$(ProductName)\mxml2.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) - .\mxml1.def + .\mxml2.def false Windows true true false - $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml2.lib MachineX86 @@ -151,15 +151,15 @@ ProgramDatabase - $(Platform)\$(Configuration)\$(ProductName)\mxml1.dll + $(Platform)\$(Configuration)\$(ProductName)\mxml2.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) - .\mxml1.def + .\mxml2.def true - $(OutDir)mxml1.pdb + $(OutDir)mxml2.pdb Windows false - $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml2.lib MachineX64 @@ -176,16 +176,16 @@ ProgramDatabase - $(Platform)\$(Configuration)\$(ProductName)\mxml1.dll + $(Platform)\$(Configuration)\$(ProductName)\mxml2.dll oldnames.lib;%(IgnoreSpecificDefaultLibraries) - .\mxml1.def + .\mxml2.def false Windows true true false - $(Configuration)\$(Platform)\$(ProductName)\mxml1.lib + $(Configuration)\$(Platform)\$(ProductName)\mxml2.lib MachineX64 @@ -199,7 +199,6 @@ - @@ -207,7 +206,7 @@ - + diff --git a/vcnet/mxml1.vcxproj.filters b/vcnet/mxml2.vcxproj.filters similarity index 100% rename from vcnet/mxml1.vcxproj.filters rename to vcnet/mxml2.vcxproj.filters diff --git a/vcnet/mxml1.vcxproj.user b/vcnet/mxml2.vcxproj.user similarity index 100% rename from vcnet/mxml1.vcxproj.user rename to vcnet/mxml2.vcxproj.user diff --git a/xcode/config.h b/xcode/config.h index 4cb3556..f7e6d6c 100644 --- a/xcode/config.h +++ b/xcode/config.h @@ -1,74 +1,49 @@ -/* - * Xcode configuration file for Mini-XML, a small XML file parsing library. - * - * https://www.msweet.org/mxml - * - * Copyright © 2003-2021 by Michael R Sweet. - * - * Licensed under Apache License v2.0. See the file "LICENSE" for more - * information. - */ +// +// Xcode configuration file for Mini-XML, a small XML file parsing library. +// +// https://www.msweet.org/mxml +// +// Copyright © 2003-2024 by Michael R Sweet. +// +// Licensed under Apache License v2.0. See the file "LICENSE" for more +// information. +// -/* - * Include necessary headers... - */ - -#include -#include -#include -#include -#include +#ifndef MXML_CONFIG_H +# define MXML_CONFIG_H +# include +# include +# include +# include +# include -/* - * Version number... - */ +// +// Version number +// -#define MXML_VERSION "Mini-XML v3.3.1" +# define MXML_VERSION "Mini-XML v4.0b1" -/* - * Inline function support... - */ +// +// Inline function support +// -#define inline +# define inline -/* - * Long long support... - */ +// +// Long long support +// -#define HAVE_LONG_LONG_INT 1 +# define HAVE_LONG_LONG_INT 1 -/* - * Do we have the *printf() functions? - */ +// +// Have ? +// -#define HAVE_SNPRINTF 1 -#define HAVE_VASPRINTF 1 -#define HAVE_VSNPRINTF 1 +# define HAVE_PTHREAD_H -/* - * Do we have the strXXX() functions? - */ - -#define HAVE_STRDUP 1 -#define HAVE_STRLCAT 1 -#define HAVE_STRLCPY 1 - - -/* - * Do we have threading support? - */ - -#define HAVE_PTHREAD_H 1 - - -/* - * Define prototypes for string functions as needed... - */ - -extern char *_mxml_strdupf(const char *, ...); -extern char *_mxml_vstrdupf(const char *, va_list); +#endif // !MXML_CONFIG_H diff --git a/xcode/mxml.xcodeproj/project.pbxproj b/xcode/mxml.xcodeproj/project.pbxproj index baa45d1..872ee8b 100644 --- a/xcode/mxml.xcodeproj/project.pbxproj +++ b/xcode/mxml.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXAggregateTarget section */ @@ -32,7 +32,6 @@ 272C00201E8C66C8007EBCAC /* mxml-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 272C00141E8C66C8007EBCAC /* mxml-private.h */; settings = {ATTRIBUTES = (Private, ); }; }; 272C00211E8C66C8007EBCAC /* mxml-search.c in Sources */ = {isa = PBXBuildFile; fileRef = 272C00151E8C66C8007EBCAC /* mxml-search.c */; }; 272C00221E8C66C8007EBCAC /* mxml-set.c in Sources */ = {isa = PBXBuildFile; fileRef = 272C00161E8C66C8007EBCAC /* mxml-set.c */; }; - 272C00231E8C66C8007EBCAC /* mxml-string.c in Sources */ = {isa = PBXBuildFile; fileRef = 272C00171E8C66C8007EBCAC /* mxml-string.c */; }; 272C00241E8C66C8007EBCAC /* mxml.h in Headers */ = {isa = PBXBuildFile; fileRef = 272C00181E8C66C8007EBCAC /* mxml.h */; settings = {ATTRIBUTES = (Public, ); }; }; 272C00261E8C66CF007EBCAC /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 272C00251E8C66CF007EBCAC /* config.h */; }; 272C00421E8C6B30007EBCAC /* testmxml.c in Sources */ = {isa = PBXBuildFile; fileRef = 272C00401E8C6B1B007EBCAC /* testmxml.c */; }; @@ -87,7 +86,6 @@ 272C00141E8C66C8007EBCAC /* mxml-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "mxml-private.h"; path = "../mxml-private.h"; sourceTree = ""; }; 272C00151E8C66C8007EBCAC /* mxml-search.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "mxml-search.c"; path = "../mxml-search.c"; sourceTree = ""; }; 272C00161E8C66C8007EBCAC /* mxml-set.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "mxml-set.c"; path = "../mxml-set.c"; sourceTree = ""; }; - 272C00171E8C66C8007EBCAC /* mxml-string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "mxml-string.c"; path = "../mxml-string.c"; sourceTree = ""; }; 272C00181E8C66C8007EBCAC /* mxml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mxml.h; path = ../mxml.h; sourceTree = ""; }; 272C00251E8C66CF007EBCAC /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 272C00391E8C6AEB007EBCAC /* testmxml */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testmxml; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -127,6 +125,8 @@ 272C000C1E8C66A2007EBCAC /* libmxml */ = { isa = PBXGroup; children = ( + 272C00181E8C66C8007EBCAC /* mxml.h */, + 272C00141E8C66C8007EBCAC /* mxml-private.h */, 272C000D1E8C66C8007EBCAC /* mxml-attr.c */, 272C000E1E8C66C8007EBCAC /* mxml-entity.c */, 272C000F1E8C66C8007EBCAC /* mxml-file.c */, @@ -134,11 +134,8 @@ 272C00111E8C66C8007EBCAC /* mxml-index.c */, 272C00121E8C66C8007EBCAC /* mxml-node.c */, 272C00131E8C66C8007EBCAC /* mxml-private.c */, - 272C00141E8C66C8007EBCAC /* mxml-private.h */, 272C00151E8C66C8007EBCAC /* mxml-search.c */, 272C00161E8C66C8007EBCAC /* mxml-set.c */, - 272C00171E8C66C8007EBCAC /* mxml-string.c */, - 272C00181E8C66C8007EBCAC /* mxml.h */, ); name = libmxml; sourceTree = ""; @@ -228,7 +225,8 @@ 272CFFFD1E8C6664007EBCAC /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1310; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1520; ORGANIZATIONNAME = "Michael R Sweet"; TargetAttributes = { 272C00041E8C6664007EBCAC = { @@ -281,7 +279,6 @@ 272C00191E8C66C8007EBCAC /* mxml-attr.c in Sources */, 272C001D1E8C66C8007EBCAC /* mxml-index.c in Sources */, 272C001F1E8C66C8007EBCAC /* mxml-private.c in Sources */, - 272C00231E8C66C8007EBCAC /* mxml-string.c in Sources */, 272C00211E8C66C8007EBCAC /* mxml-search.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -319,6 +316,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -352,9 +350,11 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -371,7 +371,7 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; RUN_CLANG_STATIC_ANALYZER = YES; @@ -383,6 +383,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -416,9 +417,11 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; @@ -429,7 +432,7 @@ GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = macosx; @@ -439,8 +442,12 @@ 272C000A1E8C6664007EBCAC /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; + DYLIB_COMPATIBILITY_VERSION = 2.0.0; + DYLIB_CURRENT_VERSION = 2.0.0; EXECUTABLE_PREFIX = ""; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -448,8 +455,12 @@ 272C000B1E8C6664007EBCAC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; + DYLIB_COMPATIBILITY_VERSION = 2.0.0; + DYLIB_CURRENT_VERSION = 2.0.0; EXECUTABLE_PREFIX = ""; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -458,8 +469,9 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = "-"; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -468,8 +480,9 @@ isa = XCBuildConfiguration; buildSettings = { CODE_SIGN_IDENTITY = "-"; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; @@ -477,7 +490,9 @@ 272C00461E8C6B5A007EBCAC /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -485,7 +500,9 @@ 272C00471E8C6B5A007EBCAC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = RU58A2256H; + MACOSX_DEPLOYMENT_TARGET = "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)"; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release;