Author: fireball
Date: Wed Jan 17 15:42:43 2007
New Revision: 25494
URL: http://svn.reactos.org/svn/reactos?rev=25494&view=rev
Log:
Delete 100 files which are completely unneeded in order to statically compile expat library (full source code is located in the vendor branch).
Removed:
trunk/reactos/lib/3rdparty/expat/Changes
trunk/reactos/lib/3rdparty/expat/MANIFEST
trunk/reactos/lib/3rdparty/expat/bcb5/
trunk/reactos/lib/3rdparty/expat/buildconf.sh
trunk/reactos/lib/3rdparty/expat/configure.in
trunk/reactos/lib/3rdparty/expat/conftools/
trunk/reactos/lib/3rdparty/expat/doc/
trunk/reactos/lib/3rdparty/expat/examples/
trunk/reactos/lib/3rdparty/expat/gennmtab/
trunk/reactos/lib/3rdparty/expat/make-release.sh
trunk/reactos/lib/3rdparty/expat/tests/
trunk/reactos/lib/3rdparty/expat/vms/
trunk/reactos/lib/3rdparty/expat/win32/
trunk/reactos/lib/3rdparty/expat/xmlwf/
Removed: trunk/reactos/lib/3rdparty/expat/Changes
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/expat/Changes…
==============================================================================
--- trunk/reactos/lib/3rdparty/expat/Changes (original)
+++ trunk/reactos/lib/3rdparty/expat/Changes (removed)
@@ -1,148 +1,0 @@
-Release 2.0.0 Wed Jan 11 2006
- - We no longer use the "check" library for C unit testing; we
- always use the (partial) internal implementation of the API.
- - Report XML_NS setting via XML_GetFeatureList().
- - Fixed headers for use from C++.
- - XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
- now return unsigned integers.
- - Added XML_LARGE_SIZE switch to enable 64-bit integers for
- byte indexes and line/column numbers.
- - Updated to use libtool 1.5.22 (the most recent).
- - Added support for AmigaOS.
- - Some mostly minor bug fixes. SF issues include: 1006708,
- 1021776, 1023646, 1114960, 1156398, 1221160, 1271642.
-
-Release 1.95.8 Fri Jul 23 2004
- - Major new feature: suspend/resume. Handlers can now request
- that a parse be suspended for later resumption or aborted
- altogether. See "Temporarily Stopping Parsing" in the
- documentation for more details.
- - Some mostly minor bug fixes, but compilation should no
- longer generate warnings on most platforms. SF issues
- include: 827319, 840173, 846309, 888329, 896188, 923913,
- 928113, 961698, 985192.
-
-Release 1.95.7 Mon Oct 20 2003
- - Fixed enum XML_Status issue (reported on SourceForge many
- times), so compilers that are properly picky will be happy.
- - Introduced an XMLCALL macro to control the calling
- convention used by the Expat API; this macro should be used
- to annotate prototypes and definitions of callback
- implementations in code compiled with a calling convention
- other than the default convention for the host platform.
- - Improved ability to build without the configure-generated
- expat_config.h header. This is useful for applications
- which embed Expat rather than linking in the library.
- - Fixed a variety of bugs: see SF issues 458907, 609603,
- 676844, 679754, 692878, 692964, 695401, 699323, 699487,
- 820946.
- - Improved hash table lookups.
- - Added more regression tests and improved documentation.
-
-Release 1.95.6 Tue Jan 28 2003
- - Added XML_FreeContentModel().
- - Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
- - Fixed a variety of bugs: see SF issues 615606, 616863,
- 618199, 653180, 673791.
- - Enhanced the regression test suite.
- - Man page improvements: includes SF issue 632146.
-
-Release 1.95.5 Fri Sep 6 2002
- - Added XML_UseForeignDTD() for improved SAX2 support.
- - Added XML_GetFeatureList().
- - Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
- - Use an incomplete struct instead of a void* for the parser
- (may not retain).
- - Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
- - Finally fixed bug where default handler would report DTD
- events that were already handled by another handler.
- Initial patch contributed by Darryl Miles.
- - Removed unnecessary DllMain() function that caused static
- linking into a DLL to be difficult.
- - Added VC++ projects for building static libraries.
- - Reduced line-length for all source code and headers to be
- no longer than 80 characters, to help with AS/400 support.
- - Reduced memory copying during parsing (SF patch #600964).
- - Fixed a variety of bugs: see SF issues 580793, 434664,
- 483514, 580503, 581069, 584041, 584183, 584832, 585537,
- 596555, 596678, 598352, 598944, 599715, 600479, 600971.
-
-Release 1.95.4 Fri Jul 12 2002
- - Added support for VMS, contributed by Craig Berry. See
- vms/README.vms for more information.
- - Added Mac OS (classic) support, with a makefile for MPW,
- contributed by Thomas Wegner and Daryle Walker.
- - Added Borland C++ Builder 5 / BCC 5.5 support, contributed
- by Patrick McConnell (SF patch #538032).
- - Fixed a variety of bugs: see SF issues 441449, 563184,
- 564342, 566334, 566901, 569461, 570263, 575168, 579196.
- - Made skippedEntityHandler conform to SAX2 (see source comment)
- - Re-implemented WFC: Entity Declared from XML 1.0 spec and
- added a new error "entity declared in parameter entity":
- see SF bug report 569461 and SF patch 578161
- - Re-implemented section 5.1 from XML 1.0 spec:
- see SF bug report 570263 and SF patch 578161
-
-Release 1.95.3 Mon Jun 3 2002
- - Added a project to the MSVC workspace to create a wchar_t
- version of the library; the DLLs are named libexpatw.dll.
- - Changed the name of the Windows DLLs from expat.dll to
- libexpat.dll; this fixes SF bug #432456.
- - Added the XML_ParserReset() API function.
- - Fixed XML_SetReturnNSTriplet() to work for element names.
- - Made the XML_UNICODE builds usable (thanks, Karl!).
- - Allow xmlwf to read from standard input.
- - Install a man page for xmlwf on Unix systems.
- - Fixed many bugs; see SF bug reports 231864, 461380, 464837,
- 466885, 469226, 477667, 484419, 487840, 494749, 496505,
- 547350. Other bugs which we can't test as easily may also
- have been fixed, especially in the area of build support.
-
-Release 1.95.2 Fri Jul 27 2001
- - More changes to make MSVC happy with the build; add a single
- workspace to support both the library and xmlwf application.
- - Added a Windows installer for Windows users; includes
- xmlwf.exe.
- - Added compile-time constants that can be used to determine the
- Expat version
- - Removed a lot of GNU-specific dependencies to aide portability
- among the various Unix flavors.
- - Fix the UTF-8 BOM bug.
- - Cleaned up warning messages for several compilers.
- - Added the -Wall, -Wstrict-prototypes options for GCC.
-
-Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
- - Changes to get expat to build under Microsoft compiler
- - Removed all aborts and instead return an UNEXPECTED_STATE error.
- - Fixed a bug where a stray '%' in an entity value would cause an
- abort.
- - Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
- finding this oversight.
- - Changed default patterns in lib/Makefile.in to fit non-GNU makes
- Thanks to robin(a)unrated.net for reporting and providing an
- account to test on.
- - The reference had the wrong label for XML_SetStartNamespaceDecl.
- Reported by an anonymous user.
-
-Release 1.95.0 Fri Sep 29 2000
- - XML_ParserCreate_MM
- Allows you to set a memory management suite to replace the
- standard malloc,realloc, and free.
- - XML_SetReturnNSTriplet
- If you turn this feature on when namespace processing is in
- effect, then qualified, prefixed element and attribute names
- are returned as "uri|name|prefix" where '|' is whatever
- separator character is used in namespace processing.
- - Merged in features from perl-expat
- o XML_SetElementDeclHandler
- o XML_SetAttlistDeclHandler
- o XML_SetXmlDeclHandler
- o XML_SetEntityDeclHandler
- o StartDoctypeDeclHandler takes 3 additional parameters:
- sysid, pubid, has_internal_subset
- o Many paired handler setters (like XML_SetElementHandler)
- now have corresponding individual handler setters
- o XML_GetInputContext for getting the input context of
- the current parse position.
- - Added reference material
- - Packaged into a distribution that builds a sharable library
Removed: trunk/reactos/lib/3rdparty/expat/MANIFEST
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/expat/MANIFES…
==============================================================================
--- trunk/reactos/lib/3rdparty/expat/MANIFEST (original)
+++ trunk/reactos/lib/3rdparty/expat/MANIFEST (removed)
@@ -1,128 +1,0 @@
-amiga/stdlib.c
-amiga/launch.c
-amiga/expat_vectors.c
-amiga/expat_lib.c
-amiga/expat.xml
-amiga/README.txt
-amiga/Makefile
-amiga/include/proto/expat.h
-amiga/include/libraries/expat.h
-amiga/include/interfaces/expat.h
-amiga/include/inline4/expat.h
-bcb5/README.txt
-bcb5/all_projects.bpg
-bcb5/elements.bpf
-bcb5/elements.bpr
-bcb5/elements.mak
-bcb5/expat.bpf
-bcb5/expat.bpr
-bcb5/expat.mak
-bcb5/expat_static.bpf
-bcb5/expat_static.bpr
-bcb5/expat_static.mak
-bcb5/expatw.bpf
-bcb5/expatw.bpr
-bcb5/expatw.mak
-bcb5/expatw_static.bpf
-bcb5/expatw_static.bpr
-bcb5/expatw_static.mak
-bcb5/libexpat_mtd.def
-bcb5/libexpatw_mtd.def
-bcb5/makefile.mak
-bcb5/outline.bpf
-bcb5/outline.bpr
-bcb5/outline.mak
-bcb5/setup.bat
-bcb5/xmlwf.bpf
-bcb5/xmlwf.bpr
-bcb5/xmlwf.mak
-doc/expat.png
-doc/reference.html
-doc/style.css
-doc/valid-xhtml10.png
-doc/xmlwf.1
-doc/xmlwf.sgml
-COPYING
-Changes
-MANIFEST
-Makefile.in
-README
-configure
-configure.in
-expat_config.h.in
-expat.dsw
-conftools/PrintPath
-conftools/ac_c_bigendian_cross.m4
-conftools/config.guess
-conftools/config.sub
-conftools/expat.m4
-conftools/get-version.sh
-conftools/install-sh
-conftools/libtool.m4
-conftools/ltmain.sh
-conftools/mkinstalldirs
-examples/elements.c
-examples/elements.dsp
-examples/outline.c
-examples/outline.dsp
-lib/Makefile.MPW
-lib/amigaconfig.h
-lib/ascii.h
-lib/asciitab.h
-lib/expat.dsp
-lib/expat.h
-lib/expat_external.h
-lib/expat_static.dsp
-lib/expatw.dsp
-lib/expatw_static.dsp
-lib/iasciitab.h
-lib/internal.h
-lib/latin1tab.h
-lib/libexpat.def
-lib/libexpatw.def
-lib/macconfig.h
-lib/nametab.h
-lib/utf8tab.h
-lib/winconfig.h
-lib/xmlparse.c
-lib/xmlrole.c
-lib/xmlrole.h
-lib/xmltok.c
-lib/xmltok.h
-lib/xmltok_impl.c
-lib/xmltok_impl.h
-lib/xmltok_ns.c
-tests/benchmark/README.txt
-tests/benchmark/benchmark.c
-tests/benchmark/benchmark.dsp
-tests/benchmark/benchmark.dsw
-tests/README.txt
-tests/chardata.c
-tests/chardata.h
-tests/minicheck.c
-tests/minicheck.h
-tests/runtests.c
-tests/runtestspp.cpp
-tests/xmltest.sh
-vms/README.vms
-vms/descrip.mms
-vms/expat_config.h
-win32/MANIFEST.txt
-win32/README.txt
-win32/expat.iss
-xmlwf/codepage.c
-xmlwf/codepage.h
-xmlwf/ct.c
-xmlwf/filemap.h
-xmlwf/readfilemap.c
-xmlwf/unixfilemap.c
-xmlwf/win32filemap.c
-xmlwf/xmlfile.c
-xmlwf/xmlfile.h
-xmlwf/xmlmime.c
-xmlwf/xmlmime.h
-xmlwf/xmltchar.h
-xmlwf/xmlurl.h
-xmlwf/xmlwf.c
-xmlwf/xmlwf.dsp
-xmlwf/xmlwin32url.cxx
Removed: trunk/reactos/lib/3rdparty/expat/buildconf.sh
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/expat/buildco…
==============================================================================
--- trunk/reactos/lib/3rdparty/expat/buildconf.sh (original)
+++ trunk/reactos/lib/3rdparty/expat/buildconf.sh (removed)
@@ -1,102 +1,0 @@
-#! /bin/sh
-
-#--------------------------------------------------------------------------
-# autoconf 2.52 or newer
-#
-ac_version="`${AUTOCONF:-autoconf} --version 2> /dev/null | head -1 | sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`"
-if test -z "$ac_version"; then
- echo "ERROR: autoconf not found."
- echo " You need autoconf version 2.52 or newer installed."
- exit 1
-fi
-IFS=.; set $ac_version; IFS=' '
-if test "$1" = "2" -a "$2" -lt "52" || test "$1" -lt "2"; then
- echo "ERROR: autoconf version $ac_version found."
- echo " You need autoconf version 2.52 or newer installed."
- exit 1
-fi
-
-echo "found: autoconf version $ac_version (ok)"
-
-#--------------------------------------------------------------------------
-# libtool 1.4 or newer
-#
-
-#
-# find libtoolize, or glibtoolize on MacOS X
-#
-libtoolize=`conftools/PrintPath glibtoolize libtoolize`
-if [ "x$libtoolize" = "x" ]; then
- echo "ERROR: libtoolize not found."
- echo " You need libtool version 1.4 or newer installed"
- exit 1
-fi
-
-lt_pversion="`$libtoolize --version 2> /dev/null | sed -e 's/^[^0-9]*//'`"
-
-# convert something like 1.4p1 to 1.4.p1
-lt_version="`echo $lt_pversion | sed -e 's/\([a-z]*\)$/.\1/'`"
-
-IFS=.; set $lt_version; IFS=' '
-if test "$1" = "1" -a "$2" -lt "4"; then
- echo "ERROR: libtool version $lt_pversion found."
- echo " You need libtool version 1.4 or newer installed"
- exit 1
-fi
-
-echo "found: libtool version $lt_pversion (ok)"
-
-#--------------------------------------------------------------------------
-
-# Remove any libtool files so one can switch between libtool 1.3
-# and libtool 1.4 by simply rerunning the buildconf script.
-(cd conftools/; rm -f ltmain.sh ltconfig)
-
-#
-# Create the libtool helper files
-#
-echo "Copying libtool helper files ..."
-
-#
-# Note: we don't use --force (any more) since we have a special
-# config.guess/config.sub that we want to ensure is used.
-#
-# --copy to avoid symlinks; we want originals for the distro
-# --automake to make it shut up about "things to do"
-#
-$libtoolize --copy --automake
-
-#
-# Find the libtool.m4 file. The developer/packager can set the LIBTOOL_M4
-# environment variable to specify its location. If that variable is not
-# set, then we'll assume a "standard" libtool installation and try to
-# derive its location.
-#
-ltpath=`dirname $libtoolize`
-ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
-cp $ltfile conftools/libtool.m4
-
-echo "Using libtool.m4 from ${ltfile}."
-
-#--------------------------------------------------------------------------
-
-### for a little while... remove stray aclocal.m4 files from
-### developers' working copies. we no longer use it. (nothing else
-### will remove it, and leaving it creates big problems)
-rm -f aclocal.m4
-
-#
-# Generate the autoconf header template (expat_config.h.in) and ./configure
-#
-echo "Creating expat_config.h.in ..."
-${AUTOHEADER:-autoheader}
-
-echo "Creating configure ..."
-### do some work to toss config.cache?
-${AUTOCONF:-autoconf}
-
-# toss this; it gets created by autoconf on some systems
-rm -rf autom4te*.cache
-
-# exit with the right value, so any calling script can continue
-exit 0
Removed: trunk/reactos/lib/3rdparty/expat/configure.in
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/expat/configu…
==============================================================================
--- trunk/reactos/lib/3rdparty/expat/configure.in (original)
+++ trunk/reactos/lib/3rdparty/expat/configure.in (removed)
@@ -1,153 +1,0 @@
-dnl configuration script for expat
-dnl Process this file with autoconf to produce a configure script.
-dnl
-dnl Copyright 2000 Clark Cooper
-dnl
-dnl This file is part of EXPAT.
-dnl
-dnl EXPAT is free software; you can redistribute it and/or modify it
-dnl under the terms of the License (based on the MIT/X license) contained
-dnl in the file COPYING that comes with this distribution.
-dnl
-
-dnl Ensure that Expat is configured with autoconf 2.52 or newer
-AC_PREREQ(2.52)
-
-dnl Get the version number of Expat, using m4's esyscmd() command to run
-dnl the command at m4-generation time. This allows us to create an m4
-dnl symbol holding the correct version number. AC_INIT() requires the
-dnl version number at m4-time, rather than when ./configure is run, so
-dnl all this must happen as part of m4, not as part of the shell code
-dnl contained in ./configure.
-dnl
-dnl NOTE: esyscmd() is a GNU M4 extension. Thus, we wrap it in an appropriate
-dnl test. I believe this test will work, but I don't have a place with non-
-dnl GNU M4 to test it right now.
-define([expat_version], ifdef([__gnu__],
- [esyscmd(conftools/get-version.sh lib/expat.h)],
- [2.0.x]))
-AC_INIT(expat, expat_version, expat-bugs(a)libexpat.org)
-undefine([expat_version])
-
-AC_CONFIG_SRCDIR(Makefile.in)
-AC_CONFIG_AUX_DIR(conftools)
-
-
-dnl
-dnl Increment LIBREVISION if source code has changed at all
-dnl
-dnl If the API has changed, increment LIBCURRENT and set LIBREVISION to 0
-dnl
-dnl If the API changes compatibly (i.e. simply adding a new function
-dnl without changing or removing earlier interfaces), then increment LIBAGE.
-dnl
-dnl If the API changes incompatibly set LIBAGE back to 0
-dnl
-
-LIBCURRENT=6
-LIBREVISION=0
-LIBAGE=5
-
-AC_CONFIG_HEADER(expat_config.h)
-
-sinclude(conftools/libtool.m4)
-sinclude(conftools/ac_c_bigendian_cross.m4)
-
-AC_LIBTOOL_WIN32_DLL
-AC_PROG_LIBTOOL
-
-AC_SUBST(LIBCURRENT)
-AC_SUBST(LIBREVISION)
-AC_SUBST(LIBAGE)
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_INSTALL
-
-if test "$GCC" = yes ; then
- dnl
- dnl Be careful about adding the -fexceptions option; some versions of
- dnl GCC don't support it and it causes extra warnings that are only
- dnl distracting; avoid.
- dnl
- OLDCFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wstrict-prototypes"
- CFLAGS="$OLDCFLAGS -fexceptions"
- AC_MSG_CHECKING(whether gcc accepts -fexceptions)
- AC_TRY_COMPILE(,(void)1,
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no); CFLAGS="$OLDCFLAGS")
-fi
-
-dnl Checks for header files.
-AC_HEADER_STDC
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-
-dnl Note: Avoid using AC_C_BIGENDIAN because it does not
-dnl work in a cross compile.
-AC_C_BIGENDIAN_CROSS
-
-AC_C_CONST
-AC_TYPE_SIZE_T
-AC_CHECK_FUNCS(memmove bcopy)
-
-dnl Only needed for xmlwf:
-AC_CHECK_HEADERS(fcntl.h unistd.h)
-AC_TYPE_OFF_T
-AC_FUNC_MMAP
-
-if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then
- FILEMAP=unixfilemap
-else
- FILEMAP=readfilemap
-fi
-AC_SUBST(FILEMAP)
-
-dnl Needed for the test support code; this was found at
-dnl http://lists.gnu.org/archive/html/bug-autoconf/2002-07/msg00028.html
-
-# AC_CPP_FUNC
-# ------------------ #
-# Checks to see if ANSI C99 CPP variable __func__ works.
-# If not, perhaps __FUNCTION__ works instead.
-# If not, we'll just define __func__ to "".
-AC_DEFUN([AC_CPP_FUNC],
-[AC_REQUIRE([AC_PROG_CC_STDC])dnl
-AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
-[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
-[[char *foo = __func__;]])],
- [ac_cv_cpp_func=yes],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
-[[char *foo = __FUNCTION__;]])],
- [ac_cv_cpp_func=__FUNCTION__],
- [ac_cv_cpp_func=no])])])
-if test $ac_cv_cpp_func = __FUNCTION__; then
- AC_DEFINE(__func__,__FUNCTION__,
- [Define to __FUNCTION__ or "" if `__func__' does not conform to
-ANSI C.])
-elif test $ac_cv_cpp_func = no; then
- AC_DEFINE(__func__,"",
- [Define to __FUNCTION__ or "" if `__func__' does not conform to
-ANSI C.])
-fi
-])# AC_CPP_FUNC
-
-AC_CPP_FUNC
-
-
-dnl Some basic configuration:
-AC_DEFINE([XML_NS], 1,
- [Define to make XML Namespaces functionality available.])
-AC_DEFINE([XML_DTD], 1,
- [Define to make parameter entity parsing functionality available.])
-AC_DEFINE([XML_CONTEXT_BYTES], 1024,
- [Define to specify how much context to retain around the current parse point.])
-
-AC_CONFIG_FILES(Makefile)
-AC_OUTPUT
-
-abs_srcdir="`cd $srcdir && pwd`"
-abs_builddir="`pwd`"
-if test "$abs_srcdir" != "$abs_builddir"; then
- make mkdir-init
-fi
Removed: trunk/reactos/lib/3rdparty/expat/make-release.sh
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/expat/make-re…
==============================================================================
--- trunk/reactos/lib/3rdparty/expat/make-release.sh (original)
+++ trunk/reactos/lib/3rdparty/expat/make-release.sh (removed)
@@ -1,76 +1,0 @@
-#! /bin/bash
-#
-# make-release.sh: make an Expat release
-#
-# USAGE: make-release.sh tagname
-#
-# Note: tagname may be HEAD to just grab the head revision (e.g. for testing)
-#
-
-#CVSROOT=':ext:cvs.libexpat.org:/cvsroot/expat'
-CVSROOT=':pserver:anonymous@cvs.libexpat.org:/cvsroot/expat'
-
-if test $# != 1; then
- echo "USAGE: $0 tagname"
- exit 1
-fi
-
-tmpdir=expat-release.$$
-if test -e $tmpdir; then
- echo "ERROR: oops. chose the $tmpdir subdir, but it exists."
- exit 1
-fi
-
-echo "Checking out into temporary area: $tmpdir"
-cvs -fq -d "$CVSROOT" export -r "$1" -d $tmpdir expat || exit 1
-
-echo ""
-echo "----------------------------------------------------------------------"
-echo "Preparing $tmpdir for release (running buildconf.sh)"
-(cd $tmpdir && ./buildconf.sh) || exit 1
-
-# figure out the release version
-vsn="`$tmpdir/conftools/get-version.sh $tmpdir/lib/expat.h`"
-
-echo ""
-echo "Release version: $vsn"
-
-if test "$1" = HEAD ; then
- distdir=expat-`date '+%Y-%m-%d'`
-else
- distdir=expat-$vsn
-fi
-if test -e $distdir; then
- echo "ERROR: for safety, you must manually remove $distdir."
- rm -rf $tmpdir
- exit 1
-fi
-mkdir $distdir || exit 1
-
-CPOPTS=-Pp
-if (cp --version 2>/dev/null | grep -q 'Free Software Foundation') ; then
- # If we're using GNU cp, we can avoid the warnings about forward
- # compatibility of the options.
- CPOPTS='--parents --preserve'
-fi
-
-echo ""
-echo "----------------------------------------------------------------------"
-echo "Building $distdir based on the MANIFEST:"
-files="`sed -e 's/[ ]:.*$//' $tmpdir/MANIFEST`"
-for file in $files; do
- echo "Copying $file..."
- (cd $tmpdir && cp $CPOPTS $file ../$distdir) || exit 1
-done
-
-echo ""
-echo "----------------------------------------------------------------------"
-echo "Removing (temporary) checkout directory..."
-rm -rf $tmpdir
-
-tarball=$distdir.tar.gz
-echo "Constructing $tarball..."
-tar cf - $distdir | gzip -9 > $tarball || exit $?
-rm -r $distdir
-
-echo "Done."
Author: ion
Date: Tue Jan 16 23:49:40 2007
New Revision: 25490
URL: http://svn.reactos.org/svn/reactos?rev=25490&view=rev
Log:
[22 bug fixes]:
- Make KiComputeNewPriority accept various priority adjuments instead of always assuming an increase of 1 priority level.
- Fix ASSERT in KeSetEventBoostPriority: API is valid *only* for Synchronization events, not notification ones.
- Use proper KiComputeNewPriority call in KeSetEventBoostPriority, since we're not adjusting by 1.
- Make sure the FreezeCount is also 0 in KeAlertResumeThread, before signalling the suspend semaphore.
- Simply alert-mode check in KeAlertThread.
- Don't exit the critical region in KeFreezeAllThreads, it needs to be held.
- Don't enter a critical region in KeThawAllThreads, it should already have been entered; release it after thawing is complete.
- Also change the list loop in these functions to always start with the first thread.
- Copy over boost-disable flag in KeStartThread.
- Don't acquire the dispatcher lock in KeTestAlertThread.
- Set the KernelStackResident flag to TRUE in KeInitThread.
- Fix KeSetIdealProcessorThread to check the CPU is valid on the system, not valid across all valid CPU numbers. Also fix it to compare affinity, not processor.
- Fix KeSetBasePriorityThread to properly call KiComputeNewPriority with an adjustment of 0, and then properly manually adjust with the delta between the new base priority and the old base priority.
- Also normalize the new priority if it's too low.
- Always set the priority decrement back to 0 when KeSetPriorityThread is called.
- Normalize the priority in KeSetPriorityThread if it falls too low.
- Fix process stack count check in KeTerminateThread.
- Acquire thread and PRCB lock in KiAdjustQuantumThread.
- Use KiComputeNewPriority in KiAdjustQuantumThread.
- Dispatch a new thread in KiAdjustQuantumThread to take into account the new scheduler settings.
- Thread priorities should make more sense now...
Modified:
trunk/reactos/ntoskrnl/include/internal/ke_x.h
trunk/reactos/ntoskrnl/ke/dpc.c
trunk/reactos/ntoskrnl/ke/event.c
trunk/reactos/ntoskrnl/ke/thrdobj.c
trunk/reactos/ntoskrnl/ke/thrdschd.c
Modified: trunk/reactos/ntoskrnl/include/internal/ke_x.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/ke_x.h (original)
+++ trunk/reactos/ntoskrnl/include/internal/ke_x.h Tue Jan 16 23:49:40 2007
@@ -1304,7 +1304,8 @@
//
SCHAR
FORCEINLINE
-KiComputeNewPriority(IN PKTHREAD Thread)
+KiComputeNewPriority(IN PKTHREAD Thread,
+ IN SCHAR Adjustment)
{
SCHAR Priority;
@@ -1319,7 +1320,7 @@
if (Priority < LOW_REALTIME_PRIORITY)
{
/* Decrease priority by the priority decrement */
- Priority -= (Thread->PriorityDecrement + 1);
+ Priority -= (Thread->PriorityDecrement + Adjustment);
/* Don't go out of bounds */
if (Priority < Thread->BasePriority) Priority = Thread->BasePriority;
Modified: trunk/reactos/ntoskrnl/ke/dpc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/dpc.c?rev=2549…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/dpc.c (original)
+++ trunk/reactos/ntoskrnl/ke/dpc.c Tue Jan 16 23:49:40 2007
@@ -39,7 +39,6 @@
NTAPI
KiQuantumEnd(VOID)
{
- KPRIORITY Priority;
PKPRCB Prcb = KeGetCurrentPrcb();
PKTHREAD NextThread, Thread = Prcb->CurrentThread;
@@ -66,7 +65,7 @@
Thread->Quantum = Thread->QuantumReset;
/* Calculate new priority */
- Priority = Thread->Priority = KiComputeNewPriority(Thread);
+ Thread->Priority = KiComputeNewPriority(Thread, 1);
/* Check if a new thread is scheduled */
if (!Prcb->NextThread)
@@ -337,7 +336,7 @@
if (&Prcb->DpcData[DPC_THREADED].DpcListHead == &DpcData->DpcListHead)
{
/* Make sure a threaded DPC isn't already active */
- if (!(Prcb->DpcThreadActive) && (!Prcb->DpcThreadRequested))
+ if (!(Prcb->DpcThreadActive) && !(Prcb->DpcThreadRequested))
{
/* FIXME: Setup Threaded DPC */
ASSERT(FALSE);
@@ -346,7 +345,7 @@
else
{
/* Make sure a DPC isn't executing already */
- if ((!Prcb->DpcRoutineActive) && (!Prcb->DpcInterruptRequested))
+ if (!(Prcb->DpcRoutineActive) && !(Prcb->DpcInterruptRequested))
{
/* Check if this is the same CPU */
if (Prcb != CurrentPrcb)
Modified: trunk/reactos/ntoskrnl/ke/event.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/event.c?rev=25…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/event.c (original)
+++ trunk/reactos/ntoskrnl/ke/event.c Tue Jan 16 23:49:40 2007
@@ -237,7 +237,7 @@
KIRQL OldIrql;
PKWAIT_BLOCK WaitBlock;
PKTHREAD Thread = KeGetCurrentThread(), WaitThread;
- ASSERT_EVENT(Event);
+ ASSERT(Event->Header.Type == SynchronizationEvent);
ASSERT_IRQL_LESS_OR_EQUAL(DISPATCH_LEVEL);
/* Acquire Dispatcher Database Lock */
@@ -275,14 +275,14 @@
if (WaitingThread) *WaitingThread = WaitThread;
/* Calculate new priority */
- Thread->Priority = KiComputeNewPriority(Thread);
+ Thread->Priority = KiComputeNewPriority(Thread, 0);
/* Unlink the waiting thread */
- KiUnlinkThread(WaitThread, STATUS_WAIT_0);
+ KiUnlinkThread(WaitThread, STATUS_SUCCESS);
/* Request priority boosting */
WaitThread->AdjustIncrement = Thread->Priority;
- WaitThread->AdjustReason = 2;
+ WaitThread->AdjustReason = AdjustBoost;
/* Ready the thread */
KiReadyThread(WaitThread);
Modified: trunk/reactos/ntoskrnl/ke/thrdobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/thrdobj.c?rev=…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/thrdobj.c (original)
+++ trunk/reactos/ntoskrnl/ke/thrdobj.c Tue Jan 16 23:49:40 2007
@@ -134,7 +134,8 @@
if (PreviousCount)
{
/* Decrease count. If we are now zero, unwait it completely */
- if (--Thread->SuspendCount)
+ Thread->SuspendCount--;
+ if (!(Thread->SuspendCount) && !(Thread->FreezeCount))
{
/* Signal and satisfy */
Thread->SuspendSemaphore.Header.SignalState++;
@@ -171,8 +172,8 @@
{
/* Check if the thread is alertable, and blocked in the given mode */
if ((Thread->State == Waiting) &&
- ((AlertMode == KernelMode) || (Thread->WaitMode == AlertMode)) &&
- (Thread->Alertable))
+ (Thread->Alertable) &&
+ (AlertMode <= Thread->WaitMode))
{
/* Abort the wait to alert the thread */
KiUnwaitThread(Thread, STATUS_ALERTED, THREAD_ALERT_INCREMENT);
@@ -260,7 +261,7 @@
/* Loop the Process's Threads */
ListHead = &Process->ThreadListHead;
NextEntry = ListHead->Flink;
- while (NextEntry != ListHead)
+ do
{
/* Get the current thread */
Current = CONTAINING_RECORD(NextEntry, KTHREAD, ThreadListEntry);
@@ -307,14 +308,11 @@
/* Move to the next thread */
NextEntry = NextEntry->Flink;
- }
+ } while (NextEntry != ListHead);
/* Release the process lock and exit the dispatcher */
KiReleaseProcessLock(&LockHandle);
KiExitDispatcher(LockHandle.OldIrql);
-
- /* Leave the critical region */
- KeLeaveCriticalRegion();
}
ULONG
@@ -367,6 +365,7 @@
PKTHREAD Thread = KeGetCurrentThread();
PLIST_ENTRY NextEntry, ListHead;
PKMUTANT Mutant;
+ ASSERT_IRQL_LESS_OR_EQUAL(DISPATCH_LEVEL);
/* Optimized path if nothing is on the list at the moment */
if (IsListEmpty(&Thread->MutantListHead)) return;
@@ -430,6 +429,7 @@
PKPROCESS Process = Thread->ApcState.Process;
/* Setup static fields from parent */
+ Thread->DisableBoost = Process->DisableBoost;
Thread->Iopl = Process->Iopl;
Thread->Quantum = Process->QuantumReset;
Thread->QuantumReset = Process->QuantumReset;
@@ -593,13 +593,10 @@
/* Lock the process */
KiAcquireProcessLock(Process, &LockHandle);
- /* Enter a critical region */
- KeEnterCriticalRegion();
-
/* Loop the Process's Threads */
ListHead = &Process->ThreadListHead;
NextEntry = ListHead->Flink;
- while (NextEntry != ListHead)
+ do
{
/* Get the current thread */
Current = CONTAINING_RECORD(NextEntry, KTHREAD, ThreadListEntry);
@@ -634,7 +631,7 @@
/* Go to the next one */
NextEntry = NextEntry->Flink;
- }
+ } while (NextEntry != ListHead);
/* Release the process lock and exit the dispatcher */
KiReleaseProcessLock(&LockHandle);
@@ -656,7 +653,6 @@
/* Lock the Dispatcher Database and the APC Queue */
KiAcquireApcLock(Thread, &ApcLock);
- KiAcquireDispatcherLockAtDpcLevel();
/* Save the old State */
OldState = Thread->Alerted[AlertMode];
@@ -675,9 +671,7 @@
}
/* Release Locks and return the Old State */
- KiReleaseDispatcherLockFromDpcLevel();
- KiReleaseApcLockFromDpcLevel(&ApcLock);
- KiExitDispatcher(ApcLock.OldIrql);
+ KiReleaseApcLock(&ApcLock);
return OldState;
}
@@ -718,7 +712,8 @@
Thread->EnableStackSwap = FALSE;//TRUE;
Thread->IdealProcessor = 1;
Thread->SwapBusy = FALSE;
- Thread->AdjustReason = 0;
+ Thread->KernelStackResident = TRUE;
+ Thread->AdjustReason = AdjustNone;
/* Initialize the lock */
KeInitializeSpinLock(&Thread->ThreadLock);
@@ -1020,10 +1015,10 @@
OldIdealProcessor = Thread->UserIdealProcessor;
/* Make sure a valid CPU was given */
- if (Processor < MAXIMUM_PROCESSORS)
+ if (Processor < KeNumberProcessors)
{
/* Check if the user ideal CPU is in the affinity */
- if (Thread->UserIdealProcessor & AFFINITY_MASK(Processor))
+ if (Thread->Affinity & AFFINITY_MASK(Processor))
{
/* Set the ideal processor */
Thread->IdealProcessor = Processor;
@@ -1197,7 +1192,8 @@
else
{
/* Otherwise, calculate the new priority */
- Priority = KiComputeNewPriority(Thread);
+ Priority = KiComputeNewPriority(Thread, 0);
+ Priority += (BasePriority - OldBasePriority);
/* Check if it entered the real-time range */
if (Priority >= LOW_REALTIME_PRIORITY)
@@ -1205,6 +1201,11 @@
/* Normalize it down to the highest dynamic priority */
Priority = LOW_REALTIME_PRIORITY - 1;
}
+ else if (Priority <= LOW_PRIORITY)
+ {
+ /* It went too low, normalize it */
+ Priority = 1;
+ }
}
}
@@ -1291,6 +1292,7 @@
ASSERT_THREAD(Thread);
ASSERT_IRQL_LESS_OR_EQUAL(DISPATCH_LEVEL);
ASSERT((Priority <= HIGH_PRIORITY) && (Priority >= LOW_PRIORITY));
+ ASSERT(KeIsExecutingDpc() == FALSE);
/* Lock the Dispatcher Database */
OldIrql = KiAcquireDispatcherLock();
@@ -1298,15 +1300,18 @@
/* Lock the thread */
KiAcquireThreadLock(Thread);
- /* Save the old Priority */
+ /* Save the old Priority and reset decrement */
OldPriority = Thread->Priority;
+ Thread->PriorityDecrement = 0;
/* Make sure that an actual change is being done */
- if (OldPriority != Priority)
- {
- /* Reset the Quantum and Decrements */
+ if (Priority != Thread->Priority)
+ {
+ /* Reset the quantum */
Thread->Quantum = Thread->QuantumReset;
- Thread->PriorityDecrement = 0;
+
+ /* Check if priority is being set too low and normalize if so */
+ if ((Thread->BasePriority != 0) && !(Priority)) Priority = 1;
/* Set the new Priority */
KiSetPriorityThread(Thread, Priority, &Released);
@@ -1417,7 +1422,7 @@
ASSERT(Process->StackCount != 0);
ASSERT(Process->State == ProcessInMemory);
Process->StackCount--;
- if (!Process->StackCount)
+ if (!(Process->StackCount) && !(IsListEmpty(&Process->ThreadListHead)))
{
/* FIXME: Swap stacks */
}
Modified: trunk/reactos/ntoskrnl/ke/thrdschd.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/thrdschd.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/thrdschd.c (original)
+++ trunk/reactos/ntoskrnl/ke/thrdschd.c Tue Jan 16 23:49:40 2007
@@ -252,11 +252,15 @@
STDCALL
KiAdjustQuantumThread(IN PKTHREAD Thread)
{
- KPRIORITY Priority;
+ PKPRCB Prcb = KeGetCurrentPrcb();
+
+ /* Acquire thread and PRCB lock */
+ KiAcquireThreadLock(Thread);
+ KiAcquirePrcbLock(Prcb);
/* Don't adjust for RT threads */
if ((Thread->Priority < LOW_REALTIME_PRIORITY) &&
- Thread->BasePriority < LOW_REALTIME_PRIORITY - 2)
+ (Thread->BasePriority < (LOW_REALTIME_PRIORITY - 2)))
{
/* Decrease Quantum by one and see if we've ran out */
if (--Thread->Quantum <= 0)
@@ -265,46 +269,45 @@
Thread->Quantum = Thread->QuantumReset;
/* Calculate new Priority */
- Priority = Thread->Priority - (Thread->PriorityDecrement + 1);
-
- /* Normalize it if we've gone too low */
- if (Priority < Thread->BasePriority) Priority = Thread->BasePriority;
-
- /* Reset the priority decrement, we've done it */
- Thread->PriorityDecrement = 0;
-
- /* Set the new priority, if needed */
- if (Priority != Thread->Priority)
+ Thread->Priority = KiComputeNewPriority(Thread, 1);
+
+#ifdef NEW_SCHEDULER
+ /* Check if there's no next thread scheduled */
+ if (!Prcb->NextThread)
{
- /*
- * FIXME: This should be a call to KiSetPriorityThread but
- * due to the current ""scheduler"" in ROS, it can't be done
- * cleanly since it actualyl dispatches threads instead.
- */
- Thread->Priority = (SCHAR)Priority;
+ /* Select a new thread and set it on standby */
+ NextThread = KiSelectNextThread(Prcb);
+ NextThread->State = Standby;
+ Prcb->NextThread = NextThread;
}
else
{
- /* FIXME: Priority hasn't changed, find a new thread */
- }
- }
- }
-
- /* Nothing to do... */
- return;
+ /* This thread can be preempted again */
+ Thread->Preempted = FALSE;
+ }
+#else
+ /* We need to dispatch a new thread */
+ KiDispatchThread(Ready);
+#endif
+ }
+ }
+
+ /* Release locks */
+ KiReleasePrcbLock(Prcb);
+ KiReleaseThreadLock(Thread);
}
VOID
STDCALL
-KiSetPriorityThread(PKTHREAD Thread,
- KPRIORITY Priority,
- PBOOLEAN Released)
+KiSetPriorityThread(IN PKTHREAD Thread,
+ IN KPRIORITY Priority,
+ OUT PBOOLEAN Released)
{
KPRIORITY OldPriority = Thread->Priority;
ULONG Mask;
- int i;
+ ULONG i;
PKPCR Pcr;
- DPRINT("Changing prio to : %lx\n", Priority);
+ ASSERT((Priority >= 0) && (Priority <= HIGH_PRIORITY));
/* Check if priority changed */
if (OldPriority != Priority)
@@ -459,3 +462,4 @@
return STATUS_SUCCESS;
}
+