Ver código fonte

* moved to fpcbuild repository

git-svn-id: trunk@332 -
peter 20 anos atrás
pai
commit
d6d524a39c
100 arquivos alterados com 0 adições e 10724 exclusões
  1. 0 136
      .gitattributes
  2. 0 88
      install/INSTALL
  3. 0 145
      install/README
  4. BIN
      install/bingo32/cwsdpmi.exe
  5. BIN
      install/bingo32/wmemu387.dxe
  6. BIN
      install/binos2/emx.dll
  7. BIN
      install/binos2/emxwrap.dll
  8. BIN
      install/binos2/fp2.ico
  9. BIN
      install/binos2/unzip32.dll
  10. BIN
      install/binw32/ar.exe
  11. BIN
      install/binw32/as.exe
  12. BIN
      install/binw32/cmp.exe
  13. BIN
      install/binw32/cp.exe
  14. BIN
      install/binw32/cpp.exe
  15. BIN
      install/binw32/cygiconv-2.dll
  16. BIN
      install/binw32/cygncurses-8.dll
  17. BIN
      install/binw32/cygwin1.dll
  18. BIN
      install/binw32/diff.exe
  19. BIN
      install/binw32/dlltool.exe
  20. BIN
      install/binw32/fp32_32.ico
  21. BIN
      install/binw32/gcc.exe
  22. BIN
      install/binw32/gdate.exe
  23. BIN
      install/binw32/gdb.exe
  24. BIN
      install/binw32/gecho.exe
  25. BIN
      install/binw32/ginstall.exe
  26. BIN
      install/binw32/gmkdir.exe
  27. BIN
      install/binw32/grep.exe
  28. BIN
      install/binw32/ld.exe
  29. BIN
      install/binw32/make.exe
  30. BIN
      install/binw32/mv.exe
  31. BIN
      install/binw32/objdump.exe
  32. BIN
      install/binw32/patch.exe
  33. BIN
      install/binw32/pwd.exe
  34. BIN
      install/binw32/rm.exe
  35. BIN
      install/binw32/strip.exe
  36. BIN
      install/binw32/unzip.exe
  37. BIN
      install/binw32/upx.exe
  38. BIN
      install/binw32/windres.exe
  39. 0 5069
      install/binw32/windres.h
  40. BIN
      install/binw32/zip.exe
  41. 0 175
      install/cross/buildcrossbinutils
  42. 0 134
      install/cross/buildcrosssnaphot
  43. 0 46
      install/debian/README.Debian.in
  44. 0 222
      install/debian/changelog
  45. 0 160
      install/debian/control
  46. 0 169
      install/debian/control.in
  47. 0 13
      install/debian/copyright
  48. 0 41
      install/debian/fixdeb
  49. 0 1
      install/debian/fp-compiler.conffiles
  50. 0 9
      install/debian/fp-compiler.install.in
  51. 0 16
      install/debian/fp-compiler.postinst.in
  52. 0 9
      install/debian/fp-compiler.postrm.in
  53. 0 9
      install/debian/fp-docs.doc-base
  54. 0 1
      install/debian/fp-docs.install.in
  55. 0 4
      install/debian/fp-ide.install.in
  56. 0 8
      install/debian/fp-units-base.install.in
  57. 0 9
      install/debian/fp-units-db.install.in
  58. 0 2
      install/debian/fp-units-fcl.install.in
  59. 0 2
      install/debian/fp-units-fv.install.in
  60. 0 11
      install/debian/fp-units-gfx.install.in
  61. 0 6
      install/debian/fp-units-gnome1.install.in
  62. 0 4
      install/debian/fp-units-gtk.install.in
  63. 0 3
      install/debian/fp-units-gtk2.install.in
  64. 0 14
      install/debian/fp-units-misc.install.in
  65. 0 4
      install/debian/fp-units-net.install.in
  66. 0 1
      install/debian/fp-units-rtl.install.in
  67. 0 44
      install/debian/fp-utils.install.in
  68. 0 49
      install/debian/moveexamples
  69. 0 251
      install/debian/rules
  70. 0 42
      install/doc/Makefile
  71. 0 340
      install/doc/copying
  72. 0 41
      install/doc/copying.dj
  73. 0 305
      install/doc/copying.emx
  74. 0 17
      install/doc/copying.fpc
  75. 0 40
      install/doc/copying.rsx
  76. 0 655
      install/doc/faq.htm
  77. 0 624
      install/doc/faq.txt
  78. 0 257
      install/doc/readme.txt
  79. 0 296
      install/doc/whatsnew.txt
  80. 0 308
      install/fpc.ist
  81. 0 139
      install/fpc.spec
  82. 0 21
      install/fpcdoc.spec
  83. 0 273
      install/install.sh
  84. 0 23
      install/macos/Install
  85. 0 103
      install/macos/Installer README
  86. 0 27
      install/macos/README
  87. 0 9
      install/macos/maccopy
  88. 0 70
      install/macos/prepare
  89. BIN
      install/macosx/fpc-1.9.8.pmsp
  90. 0 40
      install/macosx/fpc.info
  91. 0 1
      install/macosx/resources/Dutch.lproj/InstallationCheck.strings
  92. 0 1
      install/macosx/resources/English.lproj/InstallationCheck.strings
  93. 0 1
      install/macosx/resources/German.lproj/InstallationCheck.strings
  94. 0 8
      install/macosx/resources/InstallationCheck
  95. 0 1
      install/macosx/resources/InstallationCheck.strings
  96. 0 1
      install/macosx/resources/License.txt
  97. 0 20
      install/macosx/resources/ReadMe.txt
  98. 0 7
      install/macosx/resources/postflight
  99. 0 167
      install/makepack
  100. 0 32
      install/makesource

+ 0 - 136
.gitattributes

@@ -1143,142 +1143,6 @@ ide/wutils.pas svneol=native#text/plain
 ide/wviews.pas svneol=native#text/plain
 ide/wvphelp.pas svneol=native#text/plain
 ide/wwinhelp.pas svneol=native#text/plain
-install/INSTALL -text
-install/README -text
-install/bingo32/cwsdpmi.exe -text
-install/bingo32/wmemu387.dxe -text
-install/binos2/emx.dll -text
-install/binos2/emxwrap.dll -text
-install/binos2/fp2.ico -text
-install/binos2/unzip32.dll -text
-install/binw32/ar.exe -text
-install/binw32/as.exe -text
-install/binw32/cmp.exe -text
-install/binw32/cp.exe -text
-install/binw32/cpp.exe -text
-install/binw32/cygiconv-2.dll -text
-install/binw32/cygncurses-8.dll -text
-install/binw32/cygwin1.dll -text
-install/binw32/diff.exe -text
-install/binw32/dlltool.exe -text
-install/binw32/fp32_32.ico -text
-install/binw32/gcc.exe -text
-install/binw32/gdate.exe -text
-install/binw32/gdb.exe -text
-install/binw32/gecho.exe -text
-install/binw32/ginstall.exe -text
-install/binw32/gmkdir.exe -text
-install/binw32/grep.exe -text
-install/binw32/ld.exe -text
-install/binw32/make.exe -text
-install/binw32/mv.exe -text
-install/binw32/objdump.exe -text
-install/binw32/patch.exe -text
-install/binw32/pwd.exe -text
-install/binw32/rm.exe -text
-install/binw32/strip.exe -text
-install/binw32/unzip.exe -text
-install/binw32/upx.exe -text
-install/binw32/windres.exe -text
-install/binw32/windres.h -text
-install/binw32/zip.exe -text
-install/cross/buildcrossbinutils -text
-install/cross/buildcrosssnaphot -text
-install/debian/README.Debian.in -text
-install/debian/changelog -text
-install/debian/control -text
-install/debian/control.in -text
-install/debian/copyright -text
-install/debian/fixdeb -text
-install/debian/fp-compiler.conffiles -text
-install/debian/fp-compiler.install.in -text
-install/debian/fp-compiler.postinst.in -text
-install/debian/fp-compiler.postrm.in -text
-install/debian/fp-docs.doc-base -text
-install/debian/fp-docs.install.in -text
-install/debian/fp-ide.install.in -text
-install/debian/fp-units-base.install.in -text
-install/debian/fp-units-db.install.in -text
-install/debian/fp-units-fcl.install.in -text
-install/debian/fp-units-fv.install.in -text
-install/debian/fp-units-gfx.install.in -text
-install/debian/fp-units-gnome1.install.in -text
-install/debian/fp-units-gtk.install.in -text
-install/debian/fp-units-gtk2.install.in -text
-install/debian/fp-units-misc.install.in -text
-install/debian/fp-units-net.install.in -text
-install/debian/fp-units-rtl.install.in -text
-install/debian/fp-utils.install.in -text
-install/debian/moveexamples -text
-install/debian/rules -text
-install/doc/Makefile -text
-install/doc/copying -text
-install/doc/copying.dj -text
-install/doc/copying.emx -text
-install/doc/copying.fpc svneol=native#text/plain
-install/doc/copying.rsx -text
-install/doc/faq.htm -text
-install/doc/faq.txt svneol=native#text/plain
-install/doc/readme.txt svneol=native#text/plain
-install/doc/whatsnew.txt svneol=native#text/plain
-install/fpc.ist -text
-install/fpc.spec -text
-install/fpcdoc.spec -text
-install/install.sh -text
-install/macos/Install -text
-install/macos/Installer[!!-~]README -text
-install/macos/README -text
-install/macos/maccopy -text
-install/macos/prepare -text
-install/macosx/fpc-1.9.8.pmsp -text
-install/macosx/fpc.info -text
-install/macosx/resources/Dutch.lproj/InstallationCheck.strings -text
-install/macosx/resources/English.lproj/InstallationCheck.strings -text
-install/macosx/resources/German.lproj/InstallationCheck.strings -text
-install/macosx/resources/InstallationCheck -text
-install/macosx/resources/InstallationCheck.strings -text
-install/macosx/resources/License.txt svneol=native#text/plain
-install/macosx/resources/ReadMe.txt svneol=native#text/plain
-install/macosx/resources/postflight -text
-install/makepack -text
-install/makesource -text
-install/man/Makefile -text
-install/man/man1/bin2obj.1 -text
-install/man/man1/data2inc.1 -text
-install/man/man1/delp.1 -text
-install/man/man1/fd2pascal.1 -text
-install/man/man1/fpc.1 -text
-install/man/man1/fpcmake.1 -text
-install/man/man1/fpdoc.1 -text
-install/man/man1/fprcp.1 -text
-install/man/man1/h2pas.1 -text
-install/man/man1/h2paspp.1 -text
-install/man/man1/makeskel.1 -text
-install/man/man1/plex.1 -text
-install/man/man1/postw32.1 -text
-install/man/man1/ppc386.1 -text
-install/man/man1/ppcarm.1 -text
-install/man/man1/ppcppc.1 -text
-install/man/man1/ppcsparc.1 -text
-install/man/man1/ppcx64.1 -text
-install/man/man1/ppdep.1 -text
-install/man/man1/ppudump.1 -text
-install/man/man1/ppufiles.1 -text
-install/man/man1/ppumove.1 -text
-install/man/man1/ptop.1 -text
-install/man/man1/pyacc.1 -text
-install/man/man1/rstconv.1 -text
-install/man/man1/unitdiff.1 -text
-install/man/man2html.c -text
-install/man/man5/fpc.cfg.5 -text
-install/man/man5/fpcmake.5 -text
-install/man/man5/ptop.cfg.5 -text
-install/os2snap.bat -text
-install/os2snap.cmd -text
-install/release.tem -text
-install/smart_strip.sh -text
-install/unix/fp32x32.xpm -text
-install/updmkver -text
 installer/Makefile -text
 installer/Makefile.fpc svneol=native#text/plain
 installer/install.dat -text

+ 0 - 88
install/INSTALL

@@ -1,88 +0,0 @@
-Extra Required tools
-********************
-
-ppufiles.exe    from utils/
-upx.exe         latest version, currently 1.02 (available in makego32.zip)
-zip.exe         the Info-Zip release
-
-Getting the sources
-*******************************
-
-You need to checkout the fpc module from CVS, you can use a tag to retrieve
-a specific release or fixes branch:
-
-RELEASE_1_0_0	1.00 Release
-RELEASE_1_0_2	1.0.2 Release
-RELEASE_1_0_4	1.0.4 Release
-FIXES_1_0_0	1.0.x Fixes Branch
-
-To checkout the main (development) branch use:
-
-cvs -z3 co fpc
-
-To checkout a specific version use, <tag> is one of the tags above:
-
-cvs -z3 co -d <tag> fpc
-
-
-Creating *src.zip files
-***********************
-
-Now the directory is still clean from all build files you can easily create
-the *src.zip files by running the following commands:
-
-make sourcezip
-make demosrc
-make docsrc
-make installersrc
-
-Some of the output files need to be renamed to be in the 8.3 format:
-
-mv installersrc.zip instsrc.zip
-mv packagessrc.zip pkgssrc.zip
-mv compilersrc.zip compsrc.zip
-
-
-Install libgdb.a
-****************
-
-If you want the debugger included in the IDE for some target you need to
-install the libgdb.a file, the libgdb_*.zip files can be found on
-ftp://ftp.freepascal.org/pub/fpc/contrib
-
-Unzip the libgdb*.zip file in the directory packages/gdbint/libgdb/<target>.
-
-
-Building for go32v2,win32
-*************************
-
-When everything is in the correct place you can build the whole release for
-go32v2 and win32 with the following commands:
-
-make go32v2zip
-make win32zip
-
-
-Finally you can create the installer with
-
-make installer OS_TARGET=go32v2
-(copy the install.exe to the dir were you place all the go32v2 packages
-before uploading)
-make installer OS_TARGET=win32
-(copy the install.exe ... )
-
-Futher you need to put the files on the ftp the same way as 0.99.14 is
-stored. With a script on ftp.freepascal.org you can then make the release
-.zips
-
-
-Building for linux
-******************
-
-For linux the creation of the release is the easiest way, just run in the
-topdir:
-
-for debs: make deb
-for rpms: make rpm
-for .tar.gz: copy the makepack script from install/ to the topdir. Then run
-             the script

+ 0 - 145
install/README

@@ -1,145 +0,0 @@
-
-Possible settings for common Free Pascal Makefile:
-
-General configurable settings:
-------------------------------
-OS_TARGET       The target operating system you are going to compile for
-                (Note: This has autodetection for go32v2,linux,winnt)
-
-OS_SOURCE       The source operating system you compiling under
-                (Note: This has autodetection for go32v2,linux,winnt)
-
-CPU_TARGET      The target CPU that is used (currently m68k,i386)
-                Default: CPU_TARGET=i386
-
-OPT             General commandline options you want to give
-                Example to compile with debug info: OPT=-g
-
-OPTDEF          Commandline defines, which also need to be passed to
-                programs that don't want other options (like mkdep)
-
-NEEDOPT         Realy needed commandline options, also used when
-                RELEASE=1. Example: NEEDOPT=-Sg to allow goto
-
-NEEDUNITDIR     Realy needed unitdir
-
-FPC             compiler to use, default is ppc386
-                Example to compile with version 0.99.8: FPC=ppc998
-
-AS              assembler to use to compile the loaders
-                Default: AS=as
-
-LD              linker to use
-                Default: LD=ld
-
-RELEASE         setting this to a value (for example RELEASE=1) will compile
-                for a release, no fpc.cfg is read an compile is done with
-                the following settings: '-Xs -OG2p2 -n'
-
-VERBOSE         setting this to a value (for example VERBOSE=1) will compile
-                with more verbosity, this can be used in combination with
-                the RELEASE option. Verbosity used: '-vwni'
-
-SMARTLINK       setting this to YES will create smartlinked files
-                Example: SMARTLINK=YES
-
-LIBNAME         set the outputname for the library to LIBNAME, mostly used
-                in combination with SMARTLINK to create a one library which
-                contains all units
-                Example: LIBNAME=objpas SMARTLINK=yes
-
-LIBTYPE         can be set to shared or static to set the library type you
-                want to create. When shared is set it overrides smartlink
-                and turns it off.
-                Example: LIBTYPE=shared LIBNAME=objpas
-
-DEFAULTUNITS    if this is set then a 'make all' will only compile the units
-                and not the exes
-
-NODEFAULTRULES  Don't include the default compiler rules. This is needed for
-                top-makefiles which call other files in subdirs
-
-
-Location:
----------
-INC             Where to find the .inc files.
-                Example: INC=inc $(OS_TARGET)
-
-TARGETDIR       Where to place all the .o,.ppu,.exe files
-                Example: TARGETDIR=. (this is needed when you compile
-                a unit from an other dir, but want the .ppu,.o in the
-                current directory)
-
-UNITTARGETDIR   Where to place the .o,.ppu files, this overrides the
-                TARGETDIR setting for these files.
-                Example see TARGETDIR
-
-
-File Handling:
---------------
-MOVE            Command to move files
-COPY            Command to copy files
-DEL             Command to delete files
-DELTREE         Command to delete a whole directory tree
-INSTALL         Command to install a normal file (not executable)
-INSTALLEXE      Command to install an executable file
-MKDIR           Command to make a new directory
-
-
-Tools:
-------
-LDCONFIG        command to rebuild the ld.so.cache (automaticly set for linux)
-PPAS            ppas.sh for linux, other os's ppas.bat
-PPUMOVE         PPUMove program
-DIFF            GNU Diff
-DATE            GNU Date (automaticly searched)
-SED             GNU Sed (automaticly searched)
-PWD             GNU PWD (automaticly searched)
-UPXPROG         UPX ExeFile compressor (automaticly searched)
-ZIPPROG         ZIP compressor (automaticly searched)
-
-
-Directories:
------------
-BASEDIR         Current working directory (automaticly loaded using PWD)
-
-FPCDIR          Base directory of Free Pascal
-
-RTLDIR          Directory to the used RTL. This contains already the target
-                Default: $FPCDIR/rtl/$OS_TARGET
-
-UNITDIR         Directory to the currently used units for the target
-                Default: $FPCDIR/units/$OS_TARGET
-
-
-Installation directories:
--------------------------
-BASEINSTALLDIR  Base directory where to install all the files.
-                Default: /pp (linux: /usr/lib/fpc/$VER)
-
-LIBINSTALLDIR   Directory to install all libraries
-                Default: $BASEINSTALLDIR/lib (linux: $BASEINSTALLDIR)
-
-BININSTALLDIR   Directory where to install the binaries
-                Default: $BASEINSTALLDIR/bin/$OS_TARGET (linux: /usr/bin)
-
-UNITINSTALLDIR  Directory where to install the normal units
-                Default: $BASEINSTALLDIR/rtl/$OS_TARGET
-
-STATIC_UNITINSTALLDIR  Directory where to install static (smartlinked) units
-                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/static
-
-SHARED_UNITINSTALLDIR  Directory where to install shared linked units
-                Default: $BASEINSTALLDIR/rtl/$OS_TARGET/shared
-
-STATIC_LIBINSTALLDIR  Directory where to install static linked libraries
-                Default: $STATIC_UNITINSTALLDIR
-
-SHARED_LIBINSTALLDIR  Directory where to install shared linked libraries
-                Default: $SHARED_UNITINSTALLDIR (linux: /usr/lib)
-
-MSGINSTALLDIR   Directory where to place the .msg (language) files
-                Default: $BASEINSTALLDIR/msg
-
-DOCINSTALLDIR:  Directory where to install the documentation
-                Default: $BASEINSTALLDIR/doc (linux: /usr/doc/fpc/$VER)

BIN
install/bingo32/cwsdpmi.exe


BIN
install/bingo32/wmemu387.dxe


BIN
install/binos2/emx.dll


BIN
install/binos2/emxwrap.dll


BIN
install/binos2/fp2.ico


BIN
install/binos2/unzip32.dll


BIN
install/binw32/ar.exe


BIN
install/binw32/as.exe


BIN
install/binw32/cmp.exe


BIN
install/binw32/cp.exe


BIN
install/binw32/cpp.exe


BIN
install/binw32/cygiconv-2.dll


BIN
install/binw32/cygncurses-8.dll


BIN
install/binw32/cygwin1.dll


BIN
install/binw32/diff.exe


BIN
install/binw32/dlltool.exe


BIN
install/binw32/fp32_32.ico


BIN
install/binw32/gcc.exe


BIN
install/binw32/gdate.exe


BIN
install/binw32/gdb.exe


BIN
install/binw32/gecho.exe


BIN
install/binw32/ginstall.exe


BIN
install/binw32/gmkdir.exe


BIN
install/binw32/grep.exe


BIN
install/binw32/ld.exe


BIN
install/binw32/make.exe


BIN
install/binw32/mv.exe


BIN
install/binw32/objdump.exe


BIN
install/binw32/patch.exe


BIN
install/binw32/pwd.exe


BIN
install/binw32/rm.exe


BIN
install/binw32/strip.exe


BIN
install/binw32/unzip.exe


BIN
install/binw32/upx.exe


BIN
install/binw32/windres.exe


+ 0 - 5069
install/binw32/windres.h

@@ -1,5069 +0,0 @@
-/* 
-   Defines.h
-
-   Windows32 API definitions
-
-   Copyright (C) 1996 Free Software Foundation, Inc.
-
-   Author: Scott Christley <[email protected]>
-
-   This file is part of the Windows32 API Library.
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-   
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   If you are interested in a warranty or support for this source code,
-   contact Scott Christley <[email protected]> for more information.
-   
-   You should have received a copy of the GNU Library General Public
-   License along with this library; see the file COPYING.LIB.
-   If not, write to the Free Software Foundation, 
-   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-/* WARNING:  This file is automatically generated. */
-
-#ifndef _GNU_H_WINDOWS32_DEFINES
-#define _GNU_H_WINDOWS32_DEFINES
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#define MAX_PATH	(260)
-#define UNICODE_NULL ((WCHAR)0)
-#define LF_FACESIZE	(32)
-#define LF_FULLFACESIZE	(64)
-#define ELF_VENDOR_SIZE	(4)
-#define SECURITY_STATIC_TRACKING	(0)
-#define SECURITY_DYNAMIC_TRACKING	(1)
-#define MAX_DEFAULTCHAR	(2)
-#define MAX_LEADBYTES	(12)
-#define EXCEPTION_MAXIMUM_PARAMETERS	(15)
-#define CCHDEVICENAME	(32)
-#define CCHFORMNAME	(32)
-#define MENU_TEXT_LEN	(40)
-#define MAX_LANA	(254)
-#define NCBNAMSZ	(16)
-#define NETBIOS_NAME_LEN	(16)
-#define OFS_MAXPATHNAME	(128)
-#define MAX_TAB_STOPS	(32)
-#define ANYSIZE_ARRAY	(1)
-#define RAS_MaxCallbackNumber	(128)
-#define RAS_MaxDeviceName	(128)
-#define RAS_MaxDeviceType	(16)
-#define RAS_MaxEntryName	(256)
-#define RAS_MaxIpAddress	(15)
-#define RAS_MaxIpxAddress	(21)
-#define RAS_MaxPhoneNumber	(128)
-#define UNLEN	(256)
-#define PWLEN	(256)
-#define CNLEN	(15)
-#define DNLEN	(15)
-/* Unsigned types max */
-#define MAXDWORD         (0xFFFFFFFF)
-#define MAXWORD          (0xFFFF)
-#define MAXBYTE          (0xFF)
-/* Signed types max/min */
-#define MINCHAR          (0x80)
-#define MAXCHAR          (0x7F)
-#define MINSHORT         (0x8000)
-#define MAXSHORT         (0x7FFF)
-#define MINLONG          (0x80000000)
-#define MAXLONG          (0x7FFFFFFF)
-
-/* _llseek */
-#define FILE_BEGIN	(0)
-#define FILE_CURRENT	(1)
-#define FILE_END	(2)
-
-/* _lopen, LZOpenFile, OpenFile */
-#define OF_READ	(0)
-#define OF_READWRITE	(2)
-#define OF_WRITE	(1)
-#define OF_SHARE_COMPAT	(0)
-#define OF_SHARE_DENY_NONE	(64)
-#define OF_SHARE_DENY_READ	(48)
-#define OF_SHARE_DENY_WRITE	(32)
-#define OF_SHARE_EXCLUSIVE	(16)
-#define OF_CANCEL	(2048)
-#define OF_CREATE	(4096)
-#define OF_DELETE	(512)
-#define OF_EXIST	(16384)
-#define OF_PARSE	(256)
-#define OF_PROMPT	(8192)
-#define OF_REOPEN	(32768)
-#define OF_VERIFY	(1024)
-
-/* ActivateKeyboardLayout, LoadKeyboardLayout */
-#define HKL_NEXT	(1)
-#define HKL_PREV	(0)
-#define KLF_REORDER	(8)
-#define KLF_UNLOADPREVIOUS	(4)
-#define KLF_ACTIVATE	(1)
-#define KLF_NOTELLSHELL	(128)
-#define KLF_REPLACELANG	(16)
-#define KLF_SUBSTITUTE_OK	(2)
-
-/* AppendMenu */
-#define MF_BITMAP	(0x4L)
-#define MF_DISABLED	(0x2L)
-#define MF_ENABLED	(0L)
-#define MF_GRAYED	(0x1L)
-#define MF_HELP		(0x4000L)
-#define MF_MENUBARBREAK	(0x20L)
-#define MF_MENUBREAK	(0x40L)
-#define MF_MOUSESELECT	(0x8000L)
-#define MF_OWNERDRAW	(0x100L)
-#define MF_POPUP	(0x10L)
-#define MF_SEPARATOR	(0x800L)
-#define MF_STRING	(0L)
-#define MF_SYSMENU	(0x2000L)
-#define MF_USECHECKBITMAPS	(0x200L)
-
-/* Ternary Raster Operations - BitBlt */
-#define BLACKNESS	0x00000042
-#define NOTSRCERASE	0x001100A6
-#define NOTSRCCOPY	0x00330008
-#define SRCERASE	0x00440328
-#define DSTINVERT	0x00550009
-#define PATINVERT	0x005A0049
-#define SRCINVERT	0x00660046
-#define SRCAND	0x008800C6
-#define MERGEPAINT	0x00BB0226
-#define MERGECOPY	0x00C000CA
-#define SRCCOPY	0x00CC0020
-#define SRCPAINT	0x00EE0086
-#define PATCOPY	0x00F00021
-#define PATPAINT	0x00FB0A09
-#define WHITENESS	0x00FF0062
-
-/* Binary Raster Operations */
-#define R2_BLACK	(1)
-#define R2_COPYPEN	(13)
-#define R2_MASKNOTPEN	(3)
-#define R2_MASKPEN	(9)
-#define R2_MASKPENNOT	(5)
-#define R2_MERGENOTPEN	(12)
-#define R2_MERGEPEN	(15)
-#define R2_MERGEPENNOT	(14)
-#define R2_NOP	(11)
-#define R2_NOT	(6)
-#define R2_NOTCOPYPEN	(4)
-#define R2_NOTMASKPEN	(8)
-#define R2_NOTMERGEPEN	(2)
-#define R2_NOTXORPEN	(10)
-#define R2_WHITE	(16)
-#define R2_XORPEN	(7)
-
-/* BroadcastSystemMessage */
-#define BSF_FLUSHDISK	(4)
-#define BSF_FORCEIFHUNG	(32)
-#define BSF_IGNORECURRENTTASK	(2)
-#define BSF_NOHANG	(8)
-#define BSF_POSTMESSAGE	(16)
-#define BSF_QUERY	(1)
-#define BSM_ALLCOMPONENTS	(0)
-#define BSM_APPLICATIONS	(8)
-#define BSM_INSTALLABLEDRIVERS	(4)
-#define BSM_NETDRIVER	(2)
-#define BSM_VXDS	(1)
-#define BROADCAST_QUERY_DENY	(1112363332)
-
-/* BrowseCallbackProc */
-
-/* CallNamedPipe */
-#define NMPWAIT_NOWAIT	(1)
-#define NMPWAIT_WAIT_FOREVER	(-1)
-#define NMPWAIT_USE_DEFAULT_WAIT	(0)
-
-/* CascadeWindows, TileWindows */
-#define MDITILE_SKIPDISABLED	(2)
-#define MDITILE_HORIZONTAL	(1)
-#define MDITILE_VERTICAL	(0)
-
-/* CBTProc */
-#define HCBT_ACTIVATE	(5)
-#define HCBT_CLICKSKIPPED	(6)
-#define HCBT_CREATEWND	(3)
-#define HCBT_DESTROYWND	(4)
-#define HCBT_KEYSKIPPED	(7)
-#define HCBT_MINMAX	(1)
-#define HCBT_MOVESIZE	(0)
-#define HCBT_QS	(2)
-#define HCBT_SETFOCUS	(9)
-#define HCBT_SYSCOMMAND	(8)
-
-/* ChangeDisplaySettings */
-#define DM_BITSPERPEL	(0x40000L)
-#define DM_PELSWIDTH	(0x80000L)
-#define DM_PELSHEIGHT	(0x100000L)
-#define DM_DISPLAYFLAGS	(0x200000L)
-#define DM_DISPLAYFREQUENCY	(0x400000L)
-#define CDS_UPDATEREGISTRY	(1)
-#define CDS_TEST	(2)
-#define DISP_CHANGE_SUCCESSFUL	(0)
-#define DISP_CHANGE_RESTART	(1)
-#define DISP_CHANGE_BADFLAGS	(-4)
-#define DISP_CHANGE_FAILED	(-1)
-#define DISP_CHANGE_BADMODE	(-2)
-#define DISP_CHANGE_NOTUPDATED	(-3)
-
-/* ChangeServiceConfig */
-#define SERVICE_NO_CHANGE	(-1)
-#define SERVICE_WIN32_OWN_PROCESS	(16)
-#define SERVICE_WIN32_SHARE_PROCESS	(32)
-#define SERVICE_KERNEL_DRIVER	(1)
-#define SERVICE_FILE_SYSTEM_DRIVER	(2)
-#define SERVICE_INTERACTIVE_PROCESS	(256)
-#define SERVICE_BOOT_START	(0)
-#define SERVICE_SYSTEM_START	(1)
-#define SERVICE_AUTO_START	(2)
-#define SERVICE_DEMAND_START	(3)
-#define SERVICE_DISABLED	(4)
-
-/* SERVICE_STATUS structure */
-#define SERVICE_STOPPED	(1)
-#define SERVICE_START_PENDING	(2)
-#define SERVICE_STOP_PENDING	(3)
-#define SERVICE_RUNNING	(4)
-#define SERVICE_CONTINUE_PENDING	(5)
-#define SERVICE_PAUSE_PENDING	(6)
-#define SERVICE_PAUSED	(7)
-#define SERVICE_ACCEPT_STOP	(1)
-#define SERVICE_ACCEPT_PAUSE_CONTINUE	(2)
-#define SERVICE_ACCEPT_SHUTDOWN	(4)
-
-/* CheckDlgButton */
-#define BST_CHECKED	(1)
-#define BST_INDETERMINATE	(2)
-#define BST_UNCHECKED	(0)
-#define BST_FOCUS	(8)
-#define BST_PUSHED	(4)
-
-/* CheckMenuItem, HiliteMenuItem */
-#define MF_BYCOMMAND	(0L)
-#define MF_BYPOSITION	(0x400L)
-#define MF_CHECKED	(0x8L)
-#define MF_UNCHECKED	(0L)
-#define MF_HILITE	(0x80L)
-#define MF_UNHILITE	(0L)
-
-/* ChildWindowFromPointEx */
-#define CWP_ALL	(0)
-#define CWP_SKIPINVISIBLE	(1)
-#define CWP_SKIPDISABLED	(2)
-#define CWP_SKIPTRANSPARENT	(4)
-
-/* ClearCommError */
-#define CE_BREAK	(16)
-#define CE_DNS	(2048)
-#define CE_FRAME	(8)
-#define CE_IOE	(1024)
-#define CE_MODE	(32768)
-#define CE_OOP	(4096)
-#define CE_OVERRUN	(2)
-#define CE_PTO	(512)
-#define CE_RXOVER	(1)
-#define CE_RXPARITY	(4)
-#define CE_TXFULL	(256)
-
-/* ChooseMatchToTarget */
-
-/* CombineRgn */
-#define RGN_AND	(1)
-#define RGN_COPY	(5)
-#define RGN_DIFF	(4)
-#define RGN_OR	(2)
-#define RGN_XOR	(3)
-#define NULLREGION	(1)
-#define SIMPLEREGION	(2)
-#define COMPLEXREGION	(3)
-#define ERROR	(0)
-
-/* CommonDlgExtendedError */
-
-/* CompareString, LCMapString */
-#define LOCALE_SYSTEM_DEFAULT	(0x800L)
-#define LOCALE_USER_DEFAULT	(0x400L)
-#define NORM_IGNORECASE	(1)
-#define NORM_IGNOREKANATYPE	(65536)
-#define NORM_IGNORENONSPACE	(2)
-#define NORM_IGNORESYMBOLS	(4)
-#define NORM_IGNOREWIDTH	(131072)
-#define SORT_STRINGSORT	(4096)
-#define LCMAP_BYTEREV	(2048)
-#define LCMAP_FULLWIDTH	(8388608)
-#define LCMAP_HALFWIDTH	(4194304)
-#define LCMAP_HIRAGANA	(1048576)
-#define LCMAP_KATAKANA	(2097152)
-#define LCMAP_LOWERCASE	(256)
-#define LCMAP_SORTKEY	(1024)
-#define LCMAP_UPPERCASE	(512)
-
-/* ContinueDebugEvent */
-#define DBG_CONTINUE	(0x10002L)
-#define DBG_CONTROL_BREAK	(0x40010008L)
-#define DBG_CONTROL_C	(0x40010005L)
-#define DBG_EXCEPTION_NOT_HANDLED	(0x80010001L)
-#define DBG_TERMINATE_THREAD            (0x40010003L)
-#define DBG_TERMINATE_PROCESS           (0x40010004L)
-
-/* ControlService */
-#define SERVICE_CONTROL_STOP	(1)
-#define SERVICE_CONTROL_PAUSE	(2)
-#define SERVICE_CONTROL_CONTINUE	(3)
-#define SERVICE_CONTROL_INTERROGATE	(4)
-#define SERVICE_CONTROL_SHUTDOWN	(5)
-
-/* CopyImage, LoadImage */
-#define IMAGE_BITMAP	(0)
-#define IMAGE_CURSOR	(2)
-#define IMAGE_ENHMETAFILE	(1)
-#define IMAGE_ICON	(1)
-#define LR_COPYDELETEORG	(8)
-#define LR_COPYRETURNORG	(4)
-#define LR_MONOCHROME	(1)
-#define LR_CREATEDIBSECTION	(8192)
-#define LR_DEFAULTSIZE	(64)
-
-/* CreateDesktop */
-#define DF_ALLOWOTHERACCOUNTHOOK	(0x1L)
-#define DESKTOP_CREATEMENU	(0x4L)
-#define DESKTOP_CREATEWINDOW	(0x2L)
-#define DESKTOP_ENUMERATE	(0x40L)
-#define DESKTOP_HOOKCONTROL	(0x8L)
-#define DESKTOP_JOURNALPLAYBACK	(0x20L)
-#define DESKTOP_JOURNALRECORD	(0x10L)
-#define DESKTOP_READOBJECTS	(0x1L)
-#define DESKTOP_SWITCHDESKTOP	(0x100L)
-#define DESKTOP_WRITEOBJECTS	(0x80L)
-#define WSF_VISIBLE	(0x1L)
-
-/* CreateDIBitmap */
-#define CBM_INIT	(0x4L)
-#define DIB_PAL_COLORS	(1)
-#define DIB_RGB_COLORS	(0)
-
-/* CreateFile, GetFileAttributes, SetFileAttributes */
-#define GENERIC_READ	(0x80000000L)
-#define GENERIC_WRITE	(0x40000000L)
-#define FILE_SHARE_DELETE	(4)
-#define FILE_SHARE_READ	(1)
-#define FILE_SHARE_WRITE	(2)
-#define CONSOLE_TEXTMODE_BUFFER	(1)
-#define CREATE_NEW	(1)
-#define CREATE_ALWAYS	(2)
-#define OPEN_EXISTING	(3)
-#define OPEN_ALWAYS	(4)
-#define TRUNCATE_EXISTING	(5)
-#define FILE_ATTRIBUTE_ARCHIVE	(32)
-#define FILE_ATTRIBUTE_COMPRESSED	(2048)
-#define FILE_ATTRIBUTE_NORMAL	(128)
-#define FILE_ATTRIBUTE_DIRECTORY	(16)
-#define FILE_ATTRIBUTE_HIDDEN	(2)
-#define FILE_ATTRIBUTE_READONLY	(1)
-#define FILE_ATTRIBUTE_SYSTEM	(4)
-#define FILE_ATTRIBUTE_TEMPORARY	(256)
-#define FILE_FLAG_WRITE_THROUGH	(2147483648)
-#define FILE_FLAG_OVERLAPPED	(1073741824)
-#define FILE_FLAG_NO_BUFFERING	(536870912)
-#define FILE_FLAG_RANDOM_ACCESS	(268435456)
-#define FILE_FLAG_SEQUENTIAL_SCAN	(134217728)
-#define FILE_FLAG_DELETE_ON_CLOSE	(67108864)
-#define FILE_FLAG_BACKUP_SEMANTICS	(33554432)
-#define FILE_FLAG_POSIX_SEMANTICS	(16777216)
-#define SECURITY_ANONYMOUS	(0)
-#define SECURITY_IDENTIFICATION	(65536)
-#define SECURITY_IMPERSONATION	(131072)
-#define SECURITY_DELEGATION	(196608)
-#define SECURITY_CONTEXT_TRACKING	(262144)
-#define SECURITY_EFFECTIVE_ONLY	(524288)
-#define SECURITY_SQOS_PRESENT	(1048576)
-
-/* CreateFileMapping, VirtualAlloc, VirtualFree, VirtualProtect */
-#define SEC_COMMIT	(134217728)
-#define SEC_IMAGE	(16777216)
-#define SEC_NOCACHE	(268435456)
-#define SEC_RESERVE	(67108864)
-#define PAGE_READONLY	(2)
-#define PAGE_READWRITE	(4)
-#define PAGE_WRITECOPY	(8)
-#define PAGE_EXECUTE	(16)
-#define PAGE_EXECUTE_READ	(32)
-#define PAGE_EXECUTE_READWRITE	(64)
-#define PAGE_EXECUTE_WRITECOPY	(128)
-#define PAGE_GUARD	(256)
-#define PAGE_NOACCESS	(1)
-#define PAGE_NOCACHE	(512)
-#define MEM_COMMIT	(4096)
-#define MEM_FREE	(65536)
-#define MEM_RESERVE	(8192)
-#define MEM_IMAGE	(16777216)
-#define MEM_MAPPED	(262144)
-#define MEM_PRIVATE	(131072)
-#define MEM_DECOMMIT	(16384)
-#define MEM_RELEASE	(32768)
-#define MEM_TOP_DOWN	(1048576)
-#define EXCEPTION_GUARD_PAGE	(0x80000001L)
-#define SECTION_EXTEND_SIZE	(0x10)
-#define SECTION_MAP_READ	(0x4)
-#define SECTION_MAP_WRITE	(0x2)
-#define SECTION_QUERY	(0x1)
-#define SECTION_ALL_ACCESS	(0xf001fL)
-
-/* CreateFont */
-#define FW_DONTCARE	(0)
-#define FW_THIN	(100)
-#define FW_EXTRALIGHT	(200)
-#define FW_LIGHT	(300)
-#define FW_NORMAL	(400)
-#define FW_REGULAR FW_NORMAL
-#define FW_MEDIUM	(500)
-#define FW_SEMIBOLD	(600)
-#define FW_BOLD	(700)
-#define FW_EXTRABOLD	(800)
-#define FW_HEAVY	(900)
-#define ANSI_CHARSET	(0)
-#define DEFAULT_CHARSET	(1)
-#define SYMBOL_CHARSET	(2)
-#define SHIFTJIS_CHARSET	(128)
-#define HANGEUL_CHARSET	(129)
-#define GB2312_CHARSET	(134)
-#define CHINESEBIG5_CHARSET	(136)
-#define GREEK_CHARSET	(161)
-#define TURKISH_CHARSET	(162)
-#define HEBREW_CHARSET	(177)
-#define ARABIC_CHARSET	(178)
-#define BALTIC_CHARSET	(186)
-#define RUSSIAN_CHARSET	(204)
-#define THAI_CHARSET	(222)
-#define EASTEUROPE_CHARSET	(238)
-#define OEM_CHARSET	(255)
-#define OUT_DEFAULT_PRECIS	(0)
-#define OUT_STRING_PRECIS	(1)
-#define OUT_CHARACTER_PRECIS	(2)
-#define OUT_STROKE_PRECIS	(3)
-#define OUT_TT_PRECIS	(4)
-#define OUT_DEVICE_PRECIS	(5)
-#define OUT_RASTER_PRECIS	(6)
-#define OUT_TT_ONLY_PRECIS	(7)
-#define OUT_OUTLINE_PRECIS	(8)
-#define CLIP_DEFAULT_PRECIS	(0)
-#define CLIP_CHARACTER_PRECIS	(1)
-#define CLIP_STROKE_PRECIS	(2)
-#define CLIP_MASK	(15)
-#define CLIP_LH_ANGLES	(16)
-#define CLIP_TT_ALWAYS	(32)
-#define CLIP_EMBEDDED	(128)
-#define DEFAULT_QUALITY	(0)
-#define DRAFT_QUALITY	(1)
-#define PROOF_QUALITY	(2)
-#define DEFAULT_PITCH	(0)
-#define FIXED_PITCH	(1)
-#define VARIABLE_PITCH	(2)
-#define FF_DECORATIVE	(80)
-#define FF_DONTCARE	(0)
-#define FF_MODERN	(48)
-#define FF_ROMAN	(16)
-#define FF_SCRIPT	(64)
-#define FF_SWISS	(32)
-
-/* CreateHatchBrush */
-#define HS_BDIAGONAL	(3)
-#define HS_CROSS	(4)
-#define HS_DIAGCROSS	(5)
-#define HS_FDIAGONAL	(2)
-#define HS_HORIZONTAL	(0)
-#define HS_VERTICAL	(1)
-
-/* CreateIconFromResourceEx */
-#define LR_DEFAULTCOLOR	(0)
-#define LR_LOADREALSIZE	(128)
-#define LR_MONOCHROME	(1)
-
-/* CreateMailslot, GetMailslotInfo */
-#define MAILSLOT_WAIT_FOREVER	(0xffffffffL)
-#define MAILSLOT_NO_MESSAGE	(0xffffffffL)
-
-/* CreateMappedBitmap */
-#define CMB_MASKED	(2)
-
-/* CreateNamedPipe */
-#define PIPE_ACCESS_DUPLEX	(3)
-#define PIPE_ACCESS_INBOUND	(1)
-#define PIPE_ACCESS_OUTBOUND	(2)
-#define WRITE_DAC	(0x40000L)
-#define WRITE_OWNER	(0x80000L)
-#define ACCESS_SYSTEM_SECURITY	(0x1000000L)
-#define PIPE_TYPE_BYTE	(0)
-#define PIPE_TYPE_MESSAGE	(4)
-#define PIPE_READMODE_BYTE	(0)
-#define PIPE_READMODE_MESSAGE	(2)
-#define PIPE_WAIT	(0)
-#define PIPE_NOWAIT	(1)
-
-/* CreatePen, ExtCreatePen */
-#define PS_GEOMETRIC	(65536)
-#define PS_COSMETIC	(0)
-#define PS_ALTERNATE	(8)
-#define PS_SOLID	(0)
-#define PS_DASH	(1)
-#define PS_DOT	(2)
-#define PS_DASHDOT	(3)
-#define PS_DASHDOTDOT	(4)
-#define PS_NULL	(5)
-#define PS_USERSTYLE	(7)
-#define PS_INSIDEFRAME	(6)
-#define PS_ENDCAP_ROUND	(0)
-#define PS_ENDCAP_SQUARE	(256)
-#define PS_ENDCAP_FLAT	(512)
-#define PS_JOIN_BEVEL	(4096)
-#define PS_JOIN_MITER	(8192)
-#define PS_JOIN_ROUND	(0)
-#define PS_STYLE_MASK	(15)
-#define PS_ENDCAP_MASK	(3840)
-#define PS_TYPE_MASK	(983040)
-
-/* CreatePolygonRgn */
-#define ALTERNATE	(1)
-#define WINDING	(2)
-
-/* CreateProcess */
-#define CREATE_DEFAULT_ERROR_MODE	(67108864)
-#define CREATE_NEW_CONSOLE	(16)
-#define CREATE_NEW_PROCESS_GROUP	(512)
-#define CREATE_SEPARATE_WOW_VDM	(2048)
-#define CREATE_SUSPENDED	(4)
-#define CREATE_UNICODE_ENVIRONMENT	(1024)
-#define DEBUG_PROCESS	(1)
-#define DEBUG_ONLY_THIS_PROCESS	(2)
-#define DETACHED_PROCESS	(8)
-#define HIGH_PRIORITY_CLASS	(128)
-#define IDLE_PRIORITY_CLASS	(64)
-#define NORMAL_PRIORITY_CLASS	(32)
-#define REALTIME_PRIORITY_CLASS	(256)
-
-/* CreateService */
-#define SERVICE_ALL_ACCESS	(0xf01ffL)
-#define SERVICE_CHANGE_CONFIG	(2)
-#define SERVICE_ENUMERATE_DEPENDENTS	(8)
-#define SERVICE_INTERROGATE	(128)
-#define SERVICE_PAUSE_CONTINUE	(64)
-#define SERVICE_QUERY_CONFIG	(1)
-#define SERVICE_QUERY_STATUS	(4)
-#define SERVICE_START	(16)
-#define SERVICE_STOP	(32)
-#define SERVICE_USER_DEFINED_CONTROL	(256)
-#define DELETE	(0x10000L)
-#define READ_CONTROL	(0x20000L)
-#define GENERIC_EXECUTE	(0x20000000L)
-#define SERVICE_WIN32_OWN_PROCESS	(16)
-#define SERVICE_WIN32_SHARE_PROCESS	(32)
-#define SERVICE_KERNEL_DRIVER	(1)
-#define SERVICE_FILE_SYSTEM_DRIVER	(2)
-#define SERVICE_INTERACTIVE_PROCESS	(256)
-#define SERVICE_BOOT_START	(0)
-#define SERVICE_SYSTEM_START	(1)
-#define SERVICE_AUTO_START	(2)
-#define SERVICE_DEMAND_START	(3)
-#define SERVICE_DISABLED	(4)
-#define SERVICE_ERROR_IGNORE	(0)
-#define SERVICE_ERROR_NORMAL	(1)
-#define SERVICE_ERROR_SEVERE	(2)
-#define SERVICE_ERROR_CRITICAL	(3)
-
-/* CreateTapePartition, WriteTapemark */
-#define TAPE_FIXED_PARTITIONS	(0L)
-#define TAPE_INITIATOR_PARTITIONS	(0x2L)
-#define TAPE_SELECT_PARTITIONS	(0x1L)
-#define TAPE_FILEMARKS	(0x1L)
-#define TAPE_LONG_FILEMARKS	(0x3L)
-#define TAPE_SETMARKS	(0L)
-#define TAPE_SHORT_FILEMARKS	(0x2L)
-
-/* CreateWindow */
-#define CW_USEDEFAULT	(0x80000000)
-#define WS_BORDER	(0x800000L)
-#define WS_CAPTION	(0xc00000L)
-#define WS_CHILD	(0x40000000L)
-#define WS_CHILDWINDOW	(0x40000000L)
-#define WS_CLIPCHILDREN	(0x2000000L)
-#define WS_CLIPSIBLINGS	(0x4000000L)
-#define WS_DISABLED	(0x8000000L)
-#define WS_DLGFRAME	(0x400000L)
-#define WS_GROUP	(0x20000L)
-#define WS_HSCROLL	(0x100000L)
-#define WS_ICONIC	(0x20000000L)
-#define WS_MAXIMIZE	(0x1000000L)
-#define WS_MAXIMIZEBOX	(0x10000L)
-#define WS_MINIMIZE	(0x20000000L)
-#define WS_MINIMIZEBOX	(0x20000L)
-#define WS_OVERLAPPED	(0L)
-#define WS_OVERLAPPEDWINDOW	(0xcf0000L)
-#define WS_POPUP	(0x80000000L)
-#define WS_POPUPWINDOW	(0x80880000L)
-#define WS_SIZEBOX	(0x40000L)
-#define WS_SYSMENU	(0x80000L)
-#define WS_TABSTOP	(0x10000L)
-#define WS_THICKFRAME	(0x40000L)
-#define WS_TILED	(0L)
-#define WS_TILEDWINDOW	(0xcf0000L)
-#define WS_VISIBLE	(0x10000000L)
-#define WS_VSCROLL	(0x200000L)
-#define MDIS_ALLCHILDSTYLES	(0x1)
-#define BS_3STATE	(0x5L)
-#define BS_AUTO3STATE	(0x6L)
-#define BS_AUTOCHECKBOX	(0x3L)
-#define BS_AUTORADIOBUTTON	(0x9L)
-#define BS_BITMAP	(0x80L)
-#define BS_BOTTOM	(0x800L)
-#define BS_CENTER	(0x300L)
-#define BS_CHECKBOX	(0x2L)
-#define BS_DEFPUSHBUTTON	(0x1L)
-#define BS_GROUPBOX	(0x7L)
-#define BS_ICON	(0x40L)
-#define BS_LEFT	(0x100L)
-#define BS_LEFTTEXT	(0x20L)
-#define BS_MULTILINE	(0x2000L)
-#define BS_NOTIFY	(0x4000L)
-#define BS_OWNERDRAW	(0xbL)
-#define BS_PUSHBUTTON	(0L)
-#define BS_PUSHLIKE	(0x1000L)
-#define BS_RADIOBUTTON	(0x4L)
-#define BS_RIGHT	(0x200L)
-#define BS_RIGHTBUTTON	(0x20L)
-#define BS_TEXT	(0L)
-#define BS_TOP	(0x400L)
-#define BS_USERBUTTON	(0x8L)
-#define BS_VCENTER	(0xc00L)
-#define CBS_AUTOHSCROLL	(0x40L)
-#define CBS_DISABLENOSCROLL	(0x800L)
-#define CBS_DROPDOWN	(0x2L)
-#define CBS_DROPDOWNLIST	(0x3L)
-#define CBS_HASSTRINGS	(0x200L)
-#define CBS_LOWERCASE	(0x4000L)
-#define CBS_NOINTEGRALHEIGHT	(0x400L)
-#define CBS_OEMCONVERT	(0x80L)
-#define CBS_OWNERDRAWFIXED	(0x10L)
-#define CBS_OWNERDRAWVARIABLE	(0x20L)
-#define CBS_SIMPLE	(0x1L)
-#define CBS_SORT	(0x100L)
-#define CBS_UPPERCASE	(0x2000L)
-#define ES_AUTOHSCROLL	(0x80L)
-#define ES_AUTOVSCROLL	(0x40L)
-#define ES_CENTER	(0x1L)
-#define ES_LEFT	(0L)
-#define ES_LOWERCASE	(0x10L)
-#define ES_MULTILINE	(0x4L)
-#define ES_NOHIDESEL	(0x100L)
-#define ES_NUMBER	(0x2000L)
-#define ES_OEMCONVERT	(0x400L)
-#define ES_PASSWORD	(0x20L)
-#define ES_READONLY	(0x800L)
-#define ES_RIGHT	(0x2L)
-#define ES_UPPERCASE	(0x8L)
-#define ES_WANTRETURN	(0x1000L)
-#define LBS_DISABLENOSCROLL	(0x1000L)
-#define LBS_EXTENDEDSEL	(0x800L)
-#define LBS_HASSTRINGS	(0x40L)
-#define LBS_MULTICOLUMN	(0x200L)
-#define LBS_MULTIPLESEL	(0x8L)
-#define LBS_NODATA	(0x2000L)
-#define LBS_NOINTEGRALHEIGHT	(0x100L)
-#define LBS_NOREDRAW	(0x4L)
-#define LBS_NOSEL	(0x4000L)
-#define LBS_NOTIFY	(0x1L)
-#define LBS_OWNERDRAWFIXED	(0x10L)
-#define LBS_OWNERDRAWVARIABLE	(0x20L)
-#define LBS_SORT	(0x2L)
-#define LBS_STANDARD	(0xa00003L)
-#define LBS_USETABSTOPS	(0x80L)
-#define LBS_WANTKEYBOARDINPUT	(0x400L)
-#define SBS_BOTTOMALIGN	(0x4L)
-#define SBS_HORZ	(0L)
-#define SBS_LEFTALIGN	(0x2L)
-#define SBS_RIGHTALIGN	(0x4L)
-#define SBS_SIZEBOX	(0x8L)
-#define SBS_SIZEBOXBOTTOMRIGHTALIGN	(0x4L)
-#define SBS_SIZEBOXTOPLEFTALIGN	(0x2L)
-#define SBS_SIZEGRIP	(0x10L)
-#define SBS_TOPALIGN	(0x2L)
-#define SBS_VERT	(0x1L)
-#define SS_BITMAP	(0xeL)
-#define SS_BLACKFRAME	(0x7L)
-#define SS_BLACKRECT	(0x4L)
-#define SS_CENTER	(0x1L)
-#define SS_CENTERIMAGE	(0x200L)
-#define SS_ENHMETAFILE	(0xfL)
-#define SS_ETCHEDFRAME	(0x12L)
-#define SS_ETCHEDHORZ	(0x10L)
-#define SS_ETCHEDVERT	(0x11L)
-#define SS_GRAYFRAME	(0x8L)
-#define SS_GRAYRECT	(0x5L)
-#define SS_ICON	(0x3L)
-#define SS_LEFT	(0L)
-#define SS_LEFTNOWORDWRAP	(0xcL)
-#define SS_NOPREFIX	(0x80L)
-#define SS_NOTIFY	(0x100L)
-#define SS_OWNERDRAW	(0xdL)
-#define SS_REALSIZEIMAGE	(0x800L)
-#define SS_RIGHT	(0x2L)
-#define SS_RIGHTJUST	(0x400L)
-#define SS_SIMPLE	(0xbL)
-#define SS_SUNKEN	(0x1000L)
-#define SS_USERITEM     (0xaL)
-#define SS_WHITEFRAME	(0x9L)
-#define SS_WHITERECT	(0x6L)
-#define DS_3DLOOK	(0x4L)
-#define DS_ABSALIGN	(0x1L)
-#define DS_CENTER	(0x800L)
-#define DS_CENTERMOUSE	(0x1000L)
-#define DS_CONTEXTHELP	(0x2000L)
-#define DS_CONTROL	(0x400L)
-#define DS_FIXEDSYS	(0x8L)
-#define DS_LOCALEDIT	(0x20L)
-#define DS_MODALFRAME	(0x80L)
-#define DS_NOFAILCREATE	(0x10L)
-#define DS_NOIDLEMSG	(0x100L)
-#define DS_SETFONT	(0x40L)
-#define DS_SETFOREGROUND	(0x200L)
-#define DS_SYSMODAL	(0x2L)
-
-/* CreateWindowEx */
-#define WS_EX_ACCEPTFILES	(0x10L)
-#define WS_EX_APPWINDOW	(0x40000L)
-#define WS_EX_CLIENTEDGE	(0x200L)
-#define WS_EX_CONTEXTHELP	(0x400L)
-#define WS_EX_CONTROLPARENT	(0x10000L)
-#define WS_EX_DLGMODALFRAME	(0x1L)
-#define WS_EX_LEFT	(0L)
-#define WS_EX_LEFTSCROLLBAR	(0x4000L)
-#define WS_EX_LTRREADING	(0L)
-#define WS_EX_MDICHILD	(0x40L)
-#define WS_EX_NOPARENTNOTIFY	(0x4L)
-#define WS_EX_OVERLAPPEDWINDOW	(0x300L)
-#define WS_EX_PALETTEWINDOW	(0x188L)
-#define WS_EX_RIGHT	(0x1000L)
-#define WS_EX_RIGHTSCROLLBAR	(0L)
-#define WS_EX_RTLREADING	(0x2000L)
-#define WS_EX_STATICEDGE	(0x20000L)
-#define WS_EX_TOOLWINDOW	(0x80L)
-#define WS_EX_TOPMOST	(0x8L)
-#define WS_EX_TRANSPARENT	(0x20L)
-#define WS_EX_WINDOWEDGE	(0x100L)
-
-/* CreateWindowStation */
-#define WINSTA_ACCESSCLIPBOARD	(0x4L)
-#define WINSTA_ACCESSGLOBALATOMS	(0x20L)
-#define WINSTA_CREATEDESKTOP	(0x8L)
-#define WINSTA_ENUMDESKTOPS	(0x1L)
-#define WINSTA_ENUMERATE	(0x100L)
-#define WINSTA_EXITWINDOWS	(0x40L)
-#define WINSTA_READATTRIBUTES	(0x2L)
-#define WINSTA_READSCREEN	(0x200L)
-#define WINSTA_WRITEATTRIBUTES	(0x10L)
-
-/* DdeCallback */
-
-/* DdeClientTransaction */
-
-/* DdeEnableCallback */
-
-/* DdeGetLastError */
-
-/* DdeInitialize */
-
-/* DdeNameService */
-
-/* DebugProc */
-#define WH_CALLWNDPROC	(4)
-#define WH_CALLWNDPROCRET	(12)
-#define WH_CBT	(5)
-#define WH_DEBUG	(9)
-#define WH_GETMESSAGE	(3)
-#define WH_JOURNALPLAYBACK	(1)
-#define WH_JOURNALRECORD	(0)
-#define WH_KEYBOARD	(2)
-#define WH_MOUSE	(7)
-#define WH_MSGFILTER	(-1)
-#define WH_SHELL	(10)
-#define WH_SYSMSGFILTER	(6)
-#define WH_MSGFILTER	(-1)
-#define WH_FOREGROUNDIDLE	(11)
-
-/* DefineDosDevice */
-#define DDD_RAW_TARGET_PATH	(1)
-#define DDD_REMOVE_DEFINITION	(2)
-#define DDD_EXACT_MATCH_ON_REMOVE	(4)
-
-/* DeviceCapbilities */
-#define DC_BINNAMES	(12)
-#define DC_BINS	(6)
-#define DC_COPIES	(18)
-#define DC_DRIVER	(11)
-#define DC_DATATYPE_PRODUCED	(21)
-#define DC_DUPLEX	(7)
-#define DC_EMF_COMPLIANT	(20)
-#define DC_ENUMRESOLUTIONS	(13)
-#define DC_EXTRA	(9)
-#define DC_FIELDS	(1)
-#define DC_FILEDEPENDENCIES	(14)
-#define DC_MAXEXTENT	(5)
-#define DC_MINEXTENT	(4)
-#define DC_ORIENTATION	(17)
-#define DC_PAPERNAMES	(16)
-#define DC_PAPERS	(2)
-#define DC_PAPERSIZE	(3)
-#define DC_SIZE	(8)
-#define DC_TRUETYPE	(15)
-#define DCTT_BITMAP	(0x1L)
-#define DCTT_DOWNLOAD	(0x2L)
-#define DCTT_SUBDEV	(0x4L)
-#define DC_VERSION	(10)
-#define DC_BINADJUST	(19)
-#define DC_DATATYPE_PRODUCED	(21)
-
-/* DeviceIoControl */
-
-/* DlgDirList */
-#define DDL_ARCHIVE	(32)
-#define DDL_DIRECTORY	(16)
-#define DDL_DRIVES	(16384)
-#define DDL_EXCLUSIVE	(32768)
-#define DDL_HIDDEN	(2)
-#define DDL_READONLY	(1)
-#define DDL_READWRITE	(0)
-#define DDL_SYSTEM	(4)
-#define DDL_POSTMSGS	(8192)
-
-/* DllEntryPoint */
-#define DLL_PROCESS_ATTACH	(1)
-#define DLL_THREAD_ATTACH	(2)
-#define DLL_PROCESS_DETACH	(0)
-#define DLL_THREAD_DETACH	(3)
-
-/* DocumentProperties */
-#define DM_IN_BUFFER	(8)
-#define DM_MODIFY	(8)
-#define DM_IN_PROMPT	(4)
-#define DM_PROMPT	(4)
-#define DM_OUT_BUFFER	(2)
-#define DM_COPY	(2)
-#define DM_UPDATE	(1)
-
-/* DrawAnimatedRects */
-#define IDANI_OPEN	(1)
-#define IDANI_CLOSE	(2)
-
-/* DrawCaption */
-#define DC_ACTIVE	(1)
-#define DC_SMALLCAP	(2)
-
-/* DrawEdge */
-#define BDR_RAISEDINNER	(4)
-#define BDR_SUNKENINNER	(8)
-#define BDR_RAISEDOUTER	(1)
-#define BDR_SUNKENOUTER	(1)
-#define EDGE_BUMP	(9)
-#define EDGE_ETCHED	(6)
-#define EDGE_RAISED	(5)
-#define EDGE_SUNKEN	(10)
-#define BF_ADJUST	(8192)
-#define BF_BOTTOM	(8)
-#define BF_BOTTOMLEFT	(9)
-#define BF_BOTTOMRIGHT	(12)
-#define BF_DIAGONAL	(16)
-#define BF_DIAGONAL_ENDBOTTOMLEFT	(25)
-#define BF_DIAGONAL_ENDBOTTOMRIGHT	(28)
-#define BF_DIAGONAL_ENDTOPLEFT	(19)
-#define BF_DIAGONAL_ENDTOPRIGHT	(22)
-#define BF_FLAT	(16384)
-#define BF_LEFT	(1)
-#define BF_MIDDLE	(2048)
-#define BF_MONO	(32768)
-#define BF_RECT	(15)
-#define BF_RIGHT	(4)
-#define BF_SOFT	(4096)
-#define BF_TOP	(2)
-#define BF_TOPLEFT	(3)
-#define BF_TOPRIGHT	(6)
-
-/* DrawFrameControl */
-#define DFC_BUTTON	(4)
-#define DFC_CAPTION	(1)
-#define DFC_MENU	(2)
-#define DFC_SCROLL	(3)
-#define DFCS_BUTTON3STATE	(8)
-#define DFCS_BUTTONCHECK	(0)
-#define DFCS_BUTTONPUSH	(16)
-#define DFCS_BUTTONRADIO	(4)
-#define DFCS_BUTTONRADIOIMAGE	(1)
-#define DFCS_BUTTONRADIOMASK	(2)
-#define DFCS_CAPTIONCLOSE	(0)
-#define DFCS_CAPTIONHELP	(4)
-#define DFCS_CAPTIONMAX	(2)
-#define DFCS_CAPTIONMIN	(1)
-#define DFCS_CAPTIONRESTORE	(3)
-#define DFCS_MENUARROW	(0)
-#define DFCS_MENUBULLET	(2)
-#define DFCS_MENUCHECK	(1)
-#define DFCS_SCROLLCOMBOBOX	(5)
-#define DFCS_SCROLLDOWN	(1)
-#define DFCS_SCROLLLEFT	(2)
-#define DFCS_SCROLLRIGHT	(3)
-#define DFCS_SCROLLSIZEGRIP	(8)
-#define DFCS_SCROLLUP	(0)
-#define DFCS_ADJUSTRECT	(8192)
-#define DFCS_CHECKED	(1024)
-#define DFCS_FLAT	(16384)
-#define DFCS_INACTIVE	(256)
-#define DFCS_MONO	(32768)
-#define DFCS_PUSHED	(512)
-
-/* DrawIconEx */
-#define DI_COMPAT	(4)
-#define DI_DEFAULTSIZE	(8)
-#define DI_IMAGE	(2)
-#define DI_MASK	(1)
-#define DI_NORMAL	(3)
-
-/* DrawState */
-#define DST_BITMAP	(4)
-#define DST_COMPLEX	(0)
-#define DST_ICON	(3)
-#define DST_PREFIXTEXT	(2)
-#define DST_TEXT	(1)
-#define DSS_NORMAL	(0)
-#define DSS_UNION	(16)
-#define DSS_DISABLED	(32)
-#define DSS_MONO	(128)
-
-/* DrawStatusText */
-#define SBT_NOBORDERS	(256)
-#define SBT_OWNERDRAW	(4096)
-#define SBT_POPOUT	(512)
-#define SBT_RTLREADING	(1024)
-
-/* DrawText, DrawTextEx */
-#define DT_BOTTOM	(8)
-#define DT_CALCRECT	(1024)
-#define DT_CENTER	(1)
-#define DT_EDITCONTROL	(8192)
-#define DT_END_ELLIPSIS	(32768)
-#define DT_PATH_ELLIPSIS	(16384)
-#define DT_EXPANDTABS	(64)
-#define DT_EXTERNALLEADING	(512)
-#define DT_LEFT	(0)
-#define DT_MODIFYSTRING	(65536)
-#define DT_NOCLIP	(256)
-#define DT_NOPREFIX	(2048)
-#define DT_RIGHT	(2)
-#define DT_RTLREADING	(131072)
-#define DT_SINGLELINE	(32)
-#define DT_TABSTOP	(128)
-#define DT_TOP	(0)
-#define DT_VCENTER	(4)
-#define DT_WORDBREAK	(16)
-#define DT_INTERNAL	(4096)
-
-/* DuplicateHandle, MapViewOfFile */
-#define DUPLICATE_CLOSE_SOURCE	(1)
-#define DUPLICATE_SAME_ACCESS	(2)
-#define FILE_MAP_ALL_ACCESS	(0xf001fL)
-#define FILE_MAP_READ	(4)
-#define FILE_MAP_WRITE	(2)
-#define FILE_MAP_COPY	(1)
-#define MUTEX_ALL_ACCESS	(0x1f0001L)
-#define MUTEX_MODIFY_STATE	(1)
-#define SYNCHRONIZE	(0x100000L)
-#define SEMAPHORE_ALL_ACCESS	(0x1f0003L)
-#define SEMAPHORE_MODIFY_STATE	(2)
-#define EVENT_ALL_ACCESS	(0x1f0003L)
-#define EVENT_MODIFY_STATE	(2)
-#define KEY_ALL_ACCESS	(0xf003fL)
-#define KEY_CREATE_LINK	(32)
-#define KEY_CREATE_SUB_KEY	(4)
-#define KEY_ENUMERATE_SUB_KEYS	(8)
-#define KEY_EXECUTE	(0x20019L)
-#define KEY_NOTIFY	(16)
-#define KEY_QUERY_VALUE	(1)
-#define KEY_READ	(0x20019L)
-#define KEY_SET_VALUE	(2)
-#define KEY_WRITE	(0x20006L)
-#define PROCESS_ALL_ACCESS	(0x1f0fffL)
-#define PROCESS_CREATE_PROCESS	(128)
-#define PROCESS_CREATE_THREAD	(2)
-#define PROCESS_DUP_HANDLE	(64)
-#define PROCESS_QUERY_INFORMATION	(1024)
-#define PROCESS_SET_INFORMATION	(512)
-#define PROCESS_TERMINATE	(1)
-#define PROCESS_VM_OPERATION	(8)
-#define PROCESS_VM_READ	(16)
-#define PROCESS_VM_WRITE	(32)
-#define THREAD_ALL_ACCESS	(0x1f03ffL)
-#define THREAD_DIRECT_IMPERSONATION	(512)
-#define THREAD_GET_CONTEXT	(8)
-#define THREAD_IMPERSONATE	(256)
-#define THREAD_QUERY_INFORMATION	(64)
-#define THREAD_SET_CONTEXT	(16)
-#define THREAD_SET_INFORMATION	(32)
-#define THREAD_SET_THREAD_TOKEN	(128)
-#define THREAD_SUSPEND_RESUME	(2)
-#define THREAD_TERMINATE	(1)
-
-/* EditWordBreakProc */
-#define WB_ISDELIMITER	(2)
-#define WB_LEFT	(0)
-#define WB_RIGHT	(1)
-
-/* EnableScrollBar */
-#define SB_BOTH	(3)
-#define SB_CTL	(2)
-#define SB_HORZ	(0)
-#define SB_VERT	(1)
-#define ESB_DISABLE_BOTH	(3)
-#define ESB_DISABLE_DOWN	(2)
-#define ESB_DISABLE_LEFT	(1)
-#define ESB_DISABLE_LTUP	(1)
-#define ESB_DISABLE_RIGHT	(2)
-#define ESB_DISABLE_RTDN	(2)
-#define ESB_DISABLE_UP	(1)
-#define ESB_ENABLE_BOTH	(0)
-
-/* Scroll Bar notifications*/
-#define SB_LINEUP	(0)
-#define SB_LINEDOWN	(1)
-#define SB_LINELEFT	(0)
-#define SB_LINERIGHT	(1)
-#define SB_PAGEUP	(2)
-#define SB_PAGEDOWN	(3)
-#define SB_PAGELEFT	(2)
-#define SB_PAGERIGHT	(3)
-#define SB_THUMBPOSITION	(4)
-#define SB_THUMBTRACK	(5)
-#define SB_ENDSCROLL	(8)
-#define SB_LEFT	(6)
-#define SB_RIGHT	(7)
-#define SB_BOTTOM	(7)
-#define SB_TOP	(6)
-
-/* EnumCalendarInfo */
-#define ENUM_ALL_CALENDARS	(-1)
-
-/* EnumDateFormats */
-#define DATE_SHORTDATE	(1)
-#define DATE_LONGDATE	(2)
-
-/* EnumDependentServices */
-#define SERVICE_ACTIVE	(1)
-#define SERVICE_INACTIVE	(2)
-
-/* EnumFontFamExProc */
-#define DEVICE_FONTTYPE	(2)
-#define RASTER_FONTTYPE	(1)
-#define TRUETYPE_FONTTYPE	(4)
-
-/* EnumObjects, GetCurrentObject, GetObjectType */
-#define OBJ_BRUSH	(2)
-#define OBJ_PEN	(1)
-#define OBJ_PAL	(5)
-#define OBJ_FONT	(6)
-#define OBJ_BITMAP	(7)
-#define OBJ_EXTPEN	(11)
-#define OBJ_REGION	(8)
-#define OBJ_DC	(3)
-#define OBJ_MEMDC	(10)
-#define OBJ_METAFILE	(9)
-#define OBJ_METADC	(4)
-#define OBJ_ENHMETAFILE	(13)
-#define OBJ_ENHMETADC	(12)
-
-/* EnumPrinters */
-
-/* EnumProtocols */
-
-/* EnumResLangProc */
-#define RT_ACCELERATOR	(MAKEINTRESOURCE(9))
-#define RT_BITMAP	(MAKEINTRESOURCE(2))
-#define RT_DIALOG	(MAKEINTRESOURCE(5))
-#define RT_FONT	(MAKEINTRESOURCE(8))
-#define RT_FONTDIR	(MAKEINTRESOURCE(7))
-#define RT_MENU	(MAKEINTRESOURCE(4))
-#define RT_RCDATA	(MAKEINTRESOURCE(10))
-#define RT_STRING	(MAKEINTRESOURCE(6))
-#define RT_MESSAGETABLE	(MAKEINTRESOURCE(11))
-#define RT_CURSOR	(MAKEINTRESOURCE(1))
-#define RT_GROUP_CURSOR	(MAKEINTRESOURCE(12))
-#define RT_ICON	(MAKEINTRESOURCE(3))
-#define RT_GROUP_ICON	(MAKEINTRESOURCE(13))
-#define RT_VERSION	(MAKEINTRESOURCE(16))
-
-/* EnumServicesStatus */
-#define SERVICE_WIN32	(48)
-#define SERVICE_DRIVER	(11)
-
-/* EnumSystemCodePages */
-#define CP_INSTALLED	(1)
-#define CP_SUPPORTED	(2)
-
-/* EnumSystemLocales */
-#define LCID_INSTALLED	(1)
-#define LCID_SUPPORTED	(2)
-
-/* EraseTape */
-#define TAPE_ERASE_LONG	(0x1L)
-#define TAPE_ERASE_SHORT	(0L)
-
-/* Escape */
-#define SP_ERROR	(-1)
-#define SP_OUTOFDISK	(-4)
-#define SP_OUTOFMEMORY	(-5)
-#define SP_USERABORT	(-3)
-#define PHYSICALWIDTH	(110)
-#define PHYSICALHEIGHT	(111)
-#define PHYSICALOFFSETX	(112)
-#define PHYSICALOFFSETY	(113)
-#define SCALINGFACTORX	(114)
-#define SCALINGFACTORY	(115)
-#define QUERYESCSUPPORT	(8)
-#define ABORTDOC	(2)
-#define ENDDOC	(11)
-#define GETPHYSPAGESIZE	(12)
-#define GETPRINTINGOFFSET	(13)
-#define GETSCALINGFACTOR	(14)
-#define NEWFRAME	(1)
-#define NEXTBAND	(3)
-#define PASSTHROUGH	(19)
-#define SETABORTPROC	(9)
-#define STARTDOC	(10)
-
-/* EscapeCommFunction */
-#define CLRDTR	(6)
-#define CLRRTS	(4)
-#define SETDTR	(5)
-#define SETRTS	(3)
-#define SETXOFF	(1)
-#define SETXON	(2)
-#define SETBREAK	(8)
-#define CLRBREAK	(9)
-
-/* ExitWindowsEx */
-#define EWX_FORCE	(4)
-#define EWX_LOGOFF	(0)
-#define EWX_POWEROFF	(8)
-#define EWX_REBOOT	(2)
-#define EWX_SHUTDOWN	(1)
-
-/* ExtFloodFill */
-#define FLOODFILLBORDER	(0)
-#define FLOODFILLSURFACE	(1)
-
-/* ExtTextOut */
-#define ETO_CLIPPED	(4)
-#define ETO_GLYPH_INDEX	(16)
-#define ETO_OPAQUE	(2)
-#define ETO_RTLREADING	(128)
-
-/* FillConsoleOutputAttribute */
-#define FOREGROUND_BLUE	(1)
-#define FOREGROUND_GREEN	(2)
-#define FOREGROUND_RED	(4)
-#define FOREGROUND_INTENSITY	(8)
-#define BACKGROUND_BLUE	(16)
-#define BACKGROUND_GREEN	(32)
-#define BACKGROUND_RED	(64)
-#define BACKGROUND_INTENSITY	(128)
-
-/* FindFirstChangeNotification */
-#define FILE_NOTIFY_CHANGE_FILE_NAME	(1)
-#define FILE_NOTIFY_CHANGE_DIR_NAME	(2)
-#define FILE_NOTIFY_CHANGE_ATTRIBUTES	(4)
-#define FILE_NOTIFY_CHANGE_SIZE	(8)
-#define FILE_NOTIFY_CHANGE_LAST_WRITE	(16)
-#define FILE_NOTIFY_CHANGE_SECURITY	(256)
-
-/* FindFirstPrinterChangeNotification */
-
-/* FindNextPrinterNotification */
-
-/* FMExtensionProc */
-
-/* FoldString */
-#define MAP_FOLDCZONE	(16)
-#define MAP_FOLDDIGITS	(128)
-#define MAP_PRECOMPOSED	(32)
-#define MAP_COMPOSITE	(64)
-
-/* ForegroundIdleProc */
-#define HC_ACTION	(0)
-
-/* FormatMessage */
-#define FORMAT_MESSAGE_ALLOCATE_BUFFER	(256)
-#define FORMAT_MESSAGE_IGNORE_INSERTS	(512)
-#define FORMAT_MESSAGE_FROM_STRING	(1024)
-#define FORMAT_MESSAGE_FROM_HMODULE	(2048)
-#define FORMAT_MESSAGE_FROM_SYSTEM	(4096)
-#define FORMAT_MESSAGE_ARGUMENT_ARRAY	(8192)
-#define FORMAT_MESSAGE_MAX_WIDTH_MASK	(255)
-
-/* GdiComment */
-#define GDICOMMENT_WINDOWS_METAFILE	(-2147483647)
-#define GDICOMMENT_BEGINGROUP	(2)
-#define GDICOMMENT_ENDGROUP	(3)
-#define GDICOMMENT_MULTIFORMATS	(1073741828)
-#define GDICOMMENT_IDENTIFIER	(1128875079)
-
-/* GenerateConsoleCtrlEvent, HandlerRoutine */
-#define CTRL_C_EVENT	(0)
-#define CTRL_BREAK_EVENT	(1)
-#define CTRL_CLOSE_EVENT	(2)
-#define CTRL_LOGOFF_EVENT	(5)
-#define CTRL_SHUTDOWN_EVENT	(6)
-
-/* GetAddressByName */
-
-/* GetArcDirection */
-#define AD_COUNTERCLOCKWISE	(1)
-#define AD_CLOCKWISE	(2)
-
-/* GetBinaryTypes */
-#define SCS_32BIT_BINARY	(0)
-#define SCS_DOS_BINARY	(1)
-#define SCS_OS216_BINARY	(5)
-#define SCS_PIF_BINARY	(3)
-#define SCS_POSIX_BINARY	(4)
-#define SCS_WOW_BINARY	(2)
-
-/* GetBoundsRect, SetBoundsRect */
-#define DCB_DISABLE	(8)
-#define DCB_ENABLE	(4)
-#define DCB_RESET	(1)
-#define DCB_SET	(3)
-#define DCB_ACCUMULATE	(2)
-
-/* GetCharacterPlacement, GetFontLanguageInfo */
-#define GCP_DBCS	(1)
-#define GCP_ERROR	(0x8000)
-#define GCP_CLASSIN	(0x80000L)
-#define GCP_DIACRITIC	(256)
-#define GCP_DISPLAYZWG	(0x400000L)
-#define GCP_GLYPHSHAPE	(16)
-#define GCP_JUSTIFY	(0x10000L)
-#define GCP_JUSTIFYIN	(0x200000L)
-#define GCP_KASHIDA	(1024)
-#define GCP_LIGATE	(32)
-#define GCP_MAXEXTENT	(0x100000L)
-#define GCP_NEUTRALOVERRIDE	(0x2000000L)
-#define GCP_NUMERICOVERRIDE	(0x1000000L)
-#define GCP_NUMERICSLATIN	(0x4000000L)
-#define GCP_NUMERICSLOCAL	(0x8000000L)
-#define GCP_REORDER	(2)
-#define GCP_SYMSWAPOFF	(0x800000L)
-#define GCP_USEKERNING	(8)
-#define FLI_GLYPHS	(0x40000L)
-#define FLI_MASK	(0x103b)
-
-/* GetClassLong, GetClassWord */
-#define GCW_ATOM	(-32)
-#define GCL_CBCLSEXTRA	(-20)
-#define GCL_CBWNDEXTRA	(-18)
-#define GCL_HBRBACKGROUND	(-10)
-#define GCL_HCURSOR	(-12)
-#define GCL_HICON	(-14)
-#define GCL_HICONSM	(-34)
-#define GCL_HMODULE	(-16)
-#define GCL_MENUNAME	(-8)
-#define GCL_STYLE	(-26)
-#define GCL_WNDPROC	(-24)
-
-/* GetClipboardFormat, SetClipboardData */
-#define CF_BITMAP	(2)
-#define CF_DIB	(8)
-#define CF_PALETTE	(9)
-#define CF_ENHMETAFILE	(14)
-#define CF_METAFILEPICT	(3)
-#define CF_OEMTEXT	(7)
-#define CF_TEXT	(1)
-#define CF_UNICODETEXT	(13)
-#define CF_DIF	(5)
-#define CF_DSPBITMAP	(130)
-#define CF_DSPENHMETAFILE	(142)
-#define CF_DSPMETAFILEPICT	(131)
-#define CF_DSPTEXT	(129)
-#define CF_GDIOBJFIRST	(768)
-#define CF_GDIOBJLAST	(1023)
-#define CF_HDROP	(15)
-#define CF_LOCALE	(16)
-#define CF_OWNERDISPLAY	(128)
-#define CF_PENDATA	(10)
-#define CF_PRIVATEFIRST	(512)
-#define CF_PRIVATELAST	(767)
-#define CF_RIFF	(11)
-#define CF_SYLK	(4)
-#define CF_WAVE	(12)
-#define CF_TIFF	(6)
-
-/* GetCommMask */
-#define EV_BREAK	(64)
-#define EV_CTS	(8)
-#define EV_DSR	(16)
-#define EV_ERR	(128)
-#define EV_EVENT1	(2048)
-#define EV_EVENT2	(4096)
-#define EV_PERR	(512)
-#define EV_RING	(256)
-#define EV_RLSD	(32)
-#define EV_RX80FULL	(1024)
-#define EV_RXCHAR	(1)
-#define EV_RXFLAG	(2)
-#define EV_TXEMPTY	(4)
-
-/* GetCommModemStatus */
-#define MS_CTS_ON	(0x10L)
-#define MS_DSR_ON	(0x20L)
-#define MS_RING_ON	(0x40L)
-#define MS_RLSD_ON	(0x80L)
-
-/* GetComputerName */
-#define MAX_COMPUTERNAME_LENGTH	(15)
-
-/* GetConsoleMode */
-#define ENABLE_LINE_INPUT	(2)
-#define ENABLE_ECHO_INPUT	(4)
-#define ENABLE_PROCESSED_INPUT	(1)
-#define ENABLE_WINDOW_INPUT	(8)
-#define ENABLE_MOUSE_INPUT	(16)
-#define ENABLE_PROCESSED_OUTPUT	(1)
-#define ENABLE_WRAP_AT_EOL_OUTPUT	(2)
-
-/* GetCPInfo */
-#define CP_ACP	(0)
-#define CP_MACCP	(2)
-#define CP_OEMCP	(1)
-
-/* GetDateFormat */
-#define DATE_SHORTDATE	(1)
-#define DATE_LONGDATE	(2)
-#define DATE_USE_ALT_CALENDAR	(4)
-
-/* GetDCEx */
-#define DCX_WINDOW	(0x1L)
-#define DCX_CACHE	(0x2L)
-#define DCX_PARENTCLIP	(0x20L)
-#define DCX_CLIPSIBLINGS	(0x10L)
-#define DCX_CLIPCHILDREN	(0x8L)
-#define DCX_NORESETATTRS	(0x4L)
-#define DCX_LOCKWINDOWUPDATE	(0x400L)
-#define DCX_EXCLUDERGN	(0x40L)
-#define DCX_INTERSECTRGN	(0x80L)
-#define DCX_VALIDATE	(0x200000L)
-
-/* GetDeviceCaps */
-#define DRIVERVERSION	(0)
-#define TECHNOLOGY	(2)
-#define DT_PLOTTER	(0)
-#define DT_RASDISPLAY	(1)
-#define DT_RASPRINTER	(2)
-#define DT_RASCAMERA	(3)
-#define DT_CHARSTREAM	(4)
-#define DT_METAFILE	(5)
-#define DT_DISPFILE	(6)
-#define HORZSIZE	(4)
-#define VERTSIZE	(6)
-#define HORZRES	(8)
-#define VERTRES	(10)
-#define LOGPIXELSX	(88)
-#define LOGPIXELSY	(90)
-#define BITSPIXEL	(12)
-#define PLANES	(14)
-#define NUMBRUSHES	(16)
-#define NUMPENS	(18)
-#define NUMFONTS	(22)
-#define NUMCOLORS	(24)
-#define ASPECTX	(40)
-#define ASPECTY	(42)
-#define ASPECTXY	(44)
-#define PDEVICESIZE	(26)
-#define CLIPCAPS	(36)
-#define SIZEPALETTE	(104)
-#define NUMRESERVED	(106)
-#define COLORRES	(108)
-#define PHYSICALWIDTH	(110)
-#define PHYSICALHEIGHT	(111)
-#define PHYSICALOFFSETX	(112)
-#define PHYSICALOFFSETY	(113)
-#define SCALINGFACTORX	(114)
-#define SCALINGFACTORY	(115)
-#define VREFRESH	(116)
-#define DESKTOPHORZRES	(118)
-#define DESKTOPVERTRES	(117)
-#define BLTALIGNMENT	(119)
-#define RASTERCAPS	(38)
-#define RC_BANDING	(2)
-#define RC_BITBLT	(1)
-#define RC_BITMAP64	(8)
-#define RC_DI_BITMAP	(128)
-#define RC_DIBTODEV	(512)
-#define RC_FLOODFILL	(4096)
-#define RC_GDI20_OUTPUT	(16)
-#define RC_PALETTE	(256)
-#define RC_SCALING	(4)
-#define RC_STRETCHBLT	(2048)
-#define RC_STRETCHDIB	(8192)
-#define CURVECAPS	(28)
-#define CC_NONE	(0)
-#define CC_CIRCLES	(1)
-#define CC_PIE	(2)
-#define CC_CHORD	(4)
-#define CC_ELLIPSES	(8)
-#define CC_WIDE	(16)
-#define CC_STYLED	(32)
-#define CC_WIDESTYLED	(64)
-#define CC_INTERIORS	(128)
-#define CC_ROUNDRECT	(256)
-#define LINECAPS	(30)
-#define LC_NONE	(0)
-#define LC_POLYLINE	(2)
-#define LC_MARKER	(4)
-#define LC_POLYMARKER	(8)
-#define LC_WIDE	(16)
-#define LC_STYLED	(32)
-#define LC_WIDESTYLED	(64)
-#define LC_INTERIORS	(128)
-#define POLYGONALCAPS	(32)
-#define PC_NONE	(0)
-#define PC_POLYGON	(1)
-#define PC_RECTANGLE	(2)
-#define PC_WINDPOLYGON	(4)
-#define PC_SCANLINE	(8)
-#define PC_WIDE	(16)
-#define PC_STYLED	(32)
-#define PC_WIDESTYLED	(64)
-#define PC_INTERIORS	(128)
-#define TEXTCAPS	(34)
-#define TC_OP_CHARACTER	(1)
-#define TC_OP_STROKE	(2)
-#define TC_CP_STROKE	(4)
-#define TC_CR_90	(8)
-#define TC_CR_ANY	(16)
-#define TC_SF_X_YINDEP	(32)
-#define TC_SA_DOUBLE	(64)
-#define TC_SA_INTEGER	(128)
-#define TC_SA_CONTIN	(256)
-#define TC_EA_DOUBLE	(512)
-#define TC_IA_ABLE	(1024)
-#define TC_UA_ABLE	(2048)
-#define TC_SO_ABLE	(4096)
-#define TC_RA_ABLE	(8192)
-#define TC_VA_ABLE	(16384)
-#define TC_RESERVED	(32768)
-#define TC_SCROLLBLT	(65536)
-#define PC_PATHS	(512)
-
-/* GetDriveType */
-#define DRIVE_REMOVABLE	(2)
-#define DRIVE_FIXED	(3)
-#define DRIVE_REMOTE	(4)
-#define DRIVE_CDROM	(5)
-#define DRIVE_RAMDISK	(6)
-#define DRIVE_UNKNOWN	(0)
-#define DRIVE_NO_ROOT_DIR	(1)
-
-/* GetExceptionCode */
-#define EXCEPTION_ACCESS_VIOLATION	(0xc0000005L)
-#define EXCEPTION_BREAKPOINT	(0x80000003L)
-#define EXCEPTION_DATATYPE_MISALIGNMENT	(0x80000002L)
-#define EXCEPTION_SINGLE_STEP	(0x80000004L)
-#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED	(0xc000008cL)
-#define EXCEPTION_FLT_DENORMAL_OPERAND	(0xc000008dL)
-#define EXCEPTION_FLT_DIVIDE_BY_ZERO	(0xc000008eL)
-#define EXCEPTION_FLT_INEXACT_RESULT	(0xc000008fL)
-#define EXCEPTION_FLT_INVALID_OPERATION	(0xc0000090L)
-#define EXCEPTION_FLT_OVERFLOW	(0xc0000091L)
-#define EXCEPTION_FLT_STACK_CHECK	(0xc0000092L)
-#define EXCEPTION_FLT_UNDERFLOW	(0xc0000093L)
-#define EXCEPTION_INT_DIVIDE_BY_ZERO	(0xc0000094L)
-#define EXCEPTION_INT_OVERFLOW	(0xc0000095L)
-#define EXCEPTION_PRIV_INSTRUCTION	(0xc0000096L)
-#define EXCEPTION_NONCONTINUABLE_EXCEPTION	(0xc0000025L)
-#define EXCEPTION_NONCONTINUABLE	(0x1)
-#define EXCEPTION_STACK_OVERFLOW	(0xc00000fdL)
-#define EXCEPTION_INVALID_DISPOSITION	(0xc0000026L)
-
-/* GetFileType */
-#define FILE_TYPE_UNKNOWN	(0)
-#define FILE_TYPE_DISK	(1)
-#define FILE_TYPE_CHAR	(2)
-#define FILE_TYPE_PIPE	(3)
-
-/* GetGlyphOutline */
-#define GGO_BITMAP	(1)
-#define GGO_NATIVE	(2)
-#define GGO_METRICS	(0)
-#define GGO_GRAY2_BITMAP	(4)
-#define GGO_GRAY4_BITMAP	(5)
-#define GGO_GRAY8_BITMAP	(6)
-#define GDI_ERROR	(0xffffffffL)
-
-/* GetGraphicsMode */
-#define GM_COMPATIBLE	(1)
-#define GM_ADVANCED	(2)
-
-/* GetHandleInformation */
-#define HANDLE_FLAG_INHERIT	(1)
-#define HANDLE_FLAG_PROTECT_FROM_CLOSE	(2)
-
-/* GetIconInfo */
-#define IDC_ARROW	(MAKEINTRESOURCE(32512))
-#define IDC_IBEAM	(MAKEINTRESOURCE(32513))
-#define IDC_WAIT	(MAKEINTRESOURCE(32514))
-#define IDC_CROSS	(MAKEINTRESOURCE(32515))
-#define IDC_UPARROW	(MAKEINTRESOURCE(32516))
-#define IDC_SIZENWSE	(MAKEINTRESOURCE(32642))
-#define IDC_SIZENESW	(MAKEINTRESOURCE(32643))
-#define IDC_SIZEWE	(MAKEINTRESOURCE(32644))
-#define IDC_SIZENS	(MAKEINTRESOURCE(32645))
-#define IDC_SIZEALL	(MAKEINTRESOURCE(32646))
-#define IDC_NO	(MAKEINTRESOURCE(32648))
-#define IDC_APPSTARTING	(MAKEINTRESOURCE(32650))
-#define IDC_HELP	(MAKEINTRESOURCE(32651))
-#define IDI_APPLICATION	(MAKEINTRESOURCE(32512))
-#define IDI_HAND	(MAKEINTRESOURCE(32513))
-#define IDI_QUESTION	(MAKEINTRESOURCE(32514))
-#define IDI_EXCLAMATION	(MAKEINTRESOURCE(32515))
-#define IDI_ASTERISK	(MAKEINTRESOURCE(32516))
-#define IDI_WINLOGO	(MAKEINTRESOURCE(32517))
-#define IDC_SIZE	(MAKEINTRESOURCE(32640))
-#define IDC_ICON	(MAKEINTRESOURCE(32641))
-
-/* GetMapMode */
-#define MM_ANISOTROPIC	(8)
-#define MM_HIENGLISH	(5)
-#define MM_HIMETRIC	(3)
-#define MM_ISOTROPIC	(7)
-#define MM_LOENGLISH	(4)
-#define MM_LOMETRIC	(2)
-#define MM_TEXT	(1)
-#define MM_TWIPS	(6)
-
-/* GetMenuDefaultItem */
-#define GMDI_GOINTOPOPUPS	(0x2L)
-#define GMDI_USEDISABLED	(0x1L)
-
-/* PeekMessage */
-#define PM_NOREMOVE	(0)
-#define PM_REMOVE	(1)
-#define PM_NOYIELD	(2)
-
-/* GetNamedPipeHandleState */
-#define PIPE_NOWAIT	(1)
-#define PIPE_READMODE_MESSAGE	(2)
-
-/* GetNamedPipeInfo */
-#define PIPE_CLIENT_END	(0)
-#define PIPE_SERVER_END	(1)
-#define PIPE_TYPE_MESSAGE	(4)
-
-/* GetNextWindow, GetWindow */
-#define GW_HWNDNEXT	(2)
-#define GW_HWNDPREV	(3)
-#define GW_CHILD	(5)
-#define GW_HWNDFIRST	(0)
-#define GW_HWNDLAST	(1)
-#define GW_OWNER	(4)
-
-/* GetPath */
-#define PT_MOVETO	(6)
-#define PT_LINETO	(2)
-#define PT_BEZIERTO	(4)
-#define PT_CLOSEFIGURE	(1)
-
-/* GetProcessShutdownParameters */
-#define SHUTDOWN_NORETRY	(1)
-
-/* GetQueueStatus */
-#define QS_ALLEVENTS	(191)
-#define QS_ALLINPUT	(255)
-#define QS_HOTKEY	(128)
-#define QS_INPUT	(7)
-#define QS_KEY	(1)
-#define QS_MOUSE	(6)
-#define QS_MOUSEBUTTON	(4)
-#define QS_MOUSEMOVE	(2)
-#define QS_PAINT	(32)
-#define QS_POSTMESSAGE	(8)
-#define QS_SENDMESSAGE	(64)
-#define QS_TIMER	(16)
-
-/* GetScrollInfo, SetScrollInfo */
-#define SIF_ALL	(23)
-#define SIF_PAGE	(2)
-#define SIF_POS	(4)
-#define SIF_RANGE	(1)
-#define SIF_DISABLENOSCROLL	(8)
-
-/* GetStdHandle */
-#define STD_INPUT_HANDLE	(DWORD)(-10)
-#define STD_OUTPUT_HANDLE	(DWORD)(-11)
-#define STD_ERROR_HANDLE	(DWORD)(-12)
-#define INVALID_HANDLE_VALUE	((HANDLE)-1)
-
-/* GetStockObject */
-#define BLACK_BRUSH	(4)
-#define DKGRAY_BRUSH	(3)
-#define GRAY_BRUSH	(2)
-#define HOLLOW_BRUSH	(5)
-#define LTGRAY_BRUSH	(1)
-#define NULL_BRUSH	(5)
-#define WHITE_BRUSH	(0)
-#define BLACK_PEN	(7)
-#define NULL_PEN	(8)
-#define WHITE_PEN	(6)
-#define ANSI_FIXED_FONT	(11)
-#define ANSI_VAR_FONT	(12)
-#define DEVICE_DEFAULT_FONT	(14)
-#define DEFAULT_GUI_FONT	(17)
-#define OEM_FIXED_FONT	(10)
-#define SYSTEM_FONT	(13)
-#define SYSTEM_FIXED_FONT	(16)
-#define DEFAULT_PALETTE	(15)
-
-/* GetStringTypeA */
-#define CT_CTYPE1	(1)
-#define CT_CTYPE2	(2)
-#define CT_CTYPE3	(4)
-#define C1_UPPER	(1)
-#define C1_LOWER	(2)
-#define C1_DIGIT	(4)
-#define C1_SPACE	(8)
-#define C1_PUNCT	(16)
-#define C1_CNTRL	(32)
-#define C1_BLANK	(64)
-#define C1_XDIGIT	(128)
-#define C1_ALPHA	(256)
-#define C2_LEFTTORIGHT	(1)
-#define C2_RIGHTTOLEFT	(2)
-#define C2_EUROPENUMBER	(3)
-#define C2_EUROPESEPARATOR	(4)
-#define C2_EUROPETERMINATOR	(5)
-#define C2_ARABICNUMBER	(6)
-#define C2_COMMONSEPARATOR	(7)
-#define C2_BLOCKSEPARATOR	(8)
-#define C2_SEGMENTSEPARATOR	(9)
-#define C2_WHITESPACE	(10)
-#define C2_OTHERNEUTRAL	(11)
-#define C2_NOTAPPLICABLE	(0)
-#define C3_NONSPACING	(1)
-#define C3_DIACRITIC	(2)
-#define C3_VOWELMARK	(4)
-#define C3_SYMBOL	(8)
-#define C3_KATAKANA	(16)
-#define C3_HIRAGANA	(32)
-#define C3_HALFWIDTH	(64)
-#define C3_FULLWIDTH	(128)
-#define C3_IDEOGRAPH	(256)
-#define C3_KASHIDA	(512)
-#define C3_ALPHA	(32768)
-#define C3_NOTAPPLICABLE	(0)
-
-/* GetSysColor */
-#define COLOR_3DDKSHADOW	(21)
-#define COLOR_3DFACE	(15)
-#define COLOR_3DHILIGHT	(20)
-#define COLOR_3DLIGHT	(22)
-#define COLOR_BTNHILIGHT	(20)
-#define COLOR_3DSHADOW	(16)
-#define COLOR_ACTIVEBORDER	(10)
-#define COLOR_ACTIVECAPTION	(2)
-#define COLOR_APPWORKSPACE	(12)
-#define COLOR_BACKGROUND	(1)
-#define COLOR_DESKTOP	(1)
-#define COLOR_BTNFACE	(15)
-#define COLOR_BTNHIGHLIGHT	(20)
-#define COLOR_BTNSHADOW	(16)
-#define COLOR_BTNTEXT	(18)
-#define COLOR_CAPTIONTEXT	(9)
-#define COLOR_GRAYTEXT	(17)
-#define COLOR_HIGHLIGHT	(13)
-#define COLOR_HIGHLIGHTTEXT	(14)
-#define COLOR_INACTIVEBORDER	(11)
-#define COLOR_INACTIVECAPTION	(3)
-#define COLOR_INACTIVECAPTIONTEXT	(19)
-#define COLOR_INFOBK	(24)
-#define COLOR_INFOTEXT	(23)
-#define COLOR_MENU	(4)
-#define COLOR_MENUTEXT	(7)
-#define COLOR_SCROLLBAR	(0)
-#define COLOR_WINDOW	(5)
-#define COLOR_WINDOWFRAME	(6)
-#define COLOR_WINDOWTEXT	(8)
-
-/* GetSystemMetrics */
-#define SM_CYMIN	(29)
-#define SM_CXMIN	(28)
-#define SM_ARRANGE	(56)
-#define SM_CLEANBOOT	(67)
-#define SM_CMETRICS	(75)
-#define SM_CMOUSEBUTTONS	(43)
-#define SM_CXBORDER	(5)
-#define SM_CYBORDER	(6)
-#define SM_CXCURSOR	(13)
-#define SM_CYCURSOR	(14)
-#define SM_CXDLGFRAME	(7)
-#define SM_CYDLGFRAME	(8)
-#define SM_CXDOUBLECLK	(36)
-#define SM_CYDOUBLECLK	(37)
-#define SM_CXDRAG	(32)
-#define SM_CYDRAG	(33)
-#define SM_CXEDGE	(32)
-#define SM_CYEDGE	(33)
-#define SM_CXFIXEDFRAME	(32)
-#define SM_CYFIXEDFRAME	(33)
-#define SM_CXFRAME	(32)
-#define SM_CYFRAME	(33)
-#define SM_CXFULLSCREEN	(16)
-#define SM_CYFULLSCREEN	(17)
-#define SM_CXHSCROLL	(21)
-#define SM_CYHSCROLL	(3)
-#define SM_CXHTHUMB	(10)
-#define SM_CXICON	(11)
-#define SM_CYICON	(12)
-#define SM_CXICONSPACING	(38)
-#define SM_CYICONSPACING	(39)
-#define SM_CXMAXIMIZED	(61)
-#define SM_CYMAXIMIZED	(62)
-#define SM_CXMAXTRACK	(59)
-#define SM_CYMAXTRACK	(60)
-#define SM_CXMENUCHECK	(71)
-#define SM_CYMENUCHECK	(72)
-#define SM_CXMENUSIZE	(54)
-#define SM_CYMENUSIZE	(55)
-#define SM_CXMINIMIZED	(57)
-#define SM_CYMINIMIZED	(58)
-#define SM_CXMINSPACING	(47)
-#define SM_CYMINSPACING	(48)
-#define SM_CXMINTRACK	(34)
-#define SM_CYMINTRACK	(35)
-#define SM_CXSCREEN	(0)
-#define SM_CYSCREEN	(1)
-#define SM_CXSIZE	(30)
-#define SM_CYSIZE	(31)
-#define SM_CXSIZEFRAME	(32)
-#define SM_CYSIZEFRAME	(33)
-#define SM_CXSMICON	(49)
-#define SM_CYSMICON	(50)
-#define SM_CXSMSIZE	(52)
-#define SM_CYSMSIZE	(53)
-#define SM_CXVSCROLL	(2)
-#define SM_CYHSCROLL	(3)
-#define SM_CXHSCROLL	(21)
-#define SM_CYVSCROLL	(20)
-#define SM_CYVTHUMB	(9)
-#define SM_CYCAPTION	(4)
-#define SM_CYKANJIWINDOW	(18)
-#define SM_CYMENU	(15)
-#define SM_CYSMCAPTION	(51)
-#define SM_DBCSENABLED	(42)
-#define SM_DEBUG	(22)
-#define SM_MENUDROPALIGNMENT	(40)
-#define SM_MIDEASTENABLED	(74)
-#define SM_MOUSEPRESENT	(19)
-#define SM_NETWORK	(63)
-#define SM_PENWINDOWS	(41)
-#define SM_SECURE	(44)
-#define SM_SHOWSOUNDS	(70)
-#define SM_SLOWMACHINE	(73)
-#define SM_SWAPBUTTON	(23)
-#define ARW_BOTTOMLEFT	(0L)
-#define ARW_BOTTOMRIGHT	(0x1L)
-#define ARW_HIDE	(0x8L)
-#define ARW_TOPLEFT	(0x2L)
-#define ARW_TOPRIGHT	(0x3L)
-#define ARW_DOWN	(0x4L)
-#define ARW_LEFT	(0L)
-#define ARW_RIGHT	(0L)
-#define ARW_UP	(0x4L)
-
-/* GetSystemPaletteUse */
-#define SYSPAL_NOSTATIC	(2)
-#define SYSPAL_STATIC	(1)
-#define SYSPAL_ERROR	(0)
-
-/* GetTapeParameters, SetTapeParameters */
-#define GET_TAPE_MEDIA_INFORMATION	(0)
-#define GET_TAPE_DRIVE_INFORMATION	(1)
-#define SET_TAPE_MEDIA_INFORMATION	(0)
-#define SET_TAPE_DRIVE_INFORMATION	(1)
-
-/* GetTapePosition */
-#define TAPE_ABSOLUTE_POSITION	(0L)
-#define TAPE_LOGICAL_POSITION	(0x1L)
-
-/* GetTextAlign */
-#define TA_BASELINE	(24)
-#define TA_BOTTOM	(8)
-#define TA_TOP	(0)
-#define TA_CENTER	(6)
-#define TA_LEFT	(0)
-#define TA_RIGHT	(2)
-#define TA_RTLREADING	(256)
-#define TA_NOUPDATECP	(0)
-#define TA_UPDATECP	(1)
-#define VTA_BASELINE	(24)
-#define VTA_CENTER	(6)
-
-/* GetThreadPriority */
-#define THREAD_PRIORITY_ABOVE_NORMAL	(1)
-#define THREAD_PRIORITY_BELOW_NORMAL	(-1)
-#define THREAD_PRIORITY_HIGHEST	(2)
-#define THREAD_PRIORITY_IDLE	(-15)
-#define THREAD_PRIORITY_LOWEST	(-2)
-#define THREAD_PRIORITY_NORMAL	(0)
-#define THREAD_PRIORITY_TIME_CRITICAL	(15)
-#define THREAD_PRIORITY_ERROR_RETURN	(2147483647)
-#define TLS_MINIMUM_AVAILABLE	(64)
-
-/* GetTimeFormat */
-#define TIME_NOMINUTESORSECONDS	(1)
-#define TIME_NOSECONDS	(2)
-#define TIME_NOTIMEMARKER	(4)
-#define TIME_FORCE24HOURFORMAT	(8)
-
-/* GetTimeZoneInformation */
-#define TIME_ZONE_ID_UNKNOWN	(0)
-#define TIME_ZONE_ID_STANDARD	(1)
-#define TIME_ZONE_ID_DAYLIGHT	(2)
-
-/* GetUserObjectInformation */
-#define UOI_FLAGS	(1)
-#define UOI_NAME	(2)
-#define UOI_TYPE	(3)
-
-/* GetVolumeInformation */
-#define FS_CASE_IS_PRESERVED	(2)
-#define FS_CASE_SENSITIVE	(1)
-#define FS_UNICODE_STORED_ON_DISK	(4)
-#define FS_PERSISTENT_ACLS	(8)
-#define FS_FILE_COMPRESSION	(16)
-#define FS_VOL_IS_COMPRESSED	(32768)
-
-/* GetWindowLong */
-#define GWL_EXSTYLE	(-20)
-#define GWL_STYLE	(-16)
-#define GWL_WNDPROC	(-4)
-#define GWL_HINSTANCE	(-6)
-#define GWL_HWNDPARENT	(-8)
-#define GWL_ID	(-12)
-#define GWL_USERDATA	(-21)
-#define DWL_DLGPROC	(4)
-#define DWL_MSGRESULT	(0)
-#define DWL_USER	(8)
-
-/* GlobalAlloc, GlobalFlags */
-#define GMEM_FIXED	(0)
-#define GMEM_MOVEABLE	(2)
-#define GPTR	(64)
-#define GHND	(66)
-#define GMEM_DDESHARE	(8192)
-#define GMEM_DISCARDABLE	(256)
-#define GMEM_LOWER	(4096)
-#define GMEM_NOCOMPACT	(16)
-#define GMEM_NODISCARD	(32)
-#define GMEM_NOT_BANKED	(4096)
-#define GMEM_NOTIFY	(16384)
-#define GMEM_SHARE	(8192)
-#define GMEM_ZEROINIT	(64)
-#define GMEM_DISCARDED	(16384)
-#define GMEM_INVALID_HANDLE	(32768)
-#define GMEM_LOCKCOUNT	(255)
-
-/* HeapAlloc, HeapReAlloc */
-#define HEAP_GENERATE_EXCEPTIONS	(4)
-#define HEAP_NO_SERIALIZE	(1)
-#define HEAP_ZERO_MEMORY	(8)
-#define STATUS_NO_MEMORY	(0xc0000017L)
-#define STATUS_ACCESS_VIOLATION	(0xc0000005L)
-#define HEAP_REALLOC_IN_PLACE_ONLY	(16)
-
-/* ImageList_Create */
-#define ILC_COLOR	(0)
-#define ILC_COLOR4	(4)
-#define ILC_COLOR8	(8)
-#define ILC_COLOR16	(16)
-#define ILC_COLOR24	(24)
-#define ILC_COLOR32	(32)
-#define ILC_COLORDDB	(254)
-#define ILC_MASK	(1)
-#define ILC_PALETTE	(2048)
-
-/* ImageList_Draw, ImageList_DrawEx */
-#define ILD_BLEND25	(2)
-#define ILD_BLEND50	(4)
-#define ILD_SELECTED	(4)
-#define ILD_BLEND	(4)
-#define ILD_FOCUS	(2)
-#define ILD_MASK	(16)
-#define ILD_NORMAL	(0)
-#define ILD_TRANSPARENT	(1)
-#define CLR_NONE	(0xffffffffL)
-#define CLR_DEFAULT	(0xff000000L)
-
-/* ImageList_LoadImage */
-#define LR_DEFAULTCOLOR	(0)
-#define LR_LOADFROMFILE	(16)
-#define LR_LOADMAP3DCOLORS	(4096)
-#define LR_LOADTRANSPARENT	(32)
-#define LR_MONOCHROME	(1)
-
-/* ImmConfigureIME */
-#define IME_CONFIG_GENERAL	(1)
-#define IME_CONFIG_REGISTERWORD	(2)
-#define IME_CONFIG_SELECTDICTIONARY	(3)
-
-/* ImmGetConversionList */
-#define GCL_CONVERSION	(1)
-#define GCL_REVERSECONVERSION	(2)
-#define GCL_REVERSE_LENGTH	(3)
-
-/* ImmGetGuideLine */
-#define GGL_LEVEL	(1)
-#define GGL_INDEX	(2)
-#define GGL_STRING	(3)
-#define GGL_PRIVATE	(4)
-#define GL_LEVEL_ERROR	(2)
-#define GL_LEVEL_FATAL	(1)
-#define GL_LEVEL_INFORMATION	(4)
-#define GL_LEVEL_NOGUIDELINE	(0)
-#define GL_LEVEL_WARNING	(3)
-#define GL_ID_CANNOTSAVE	(17)
-#define GL_ID_NOCONVERT	(32)
-#define GL_ID_NODICTIONARY	(16)
-#define GL_ID_NOMODULE	(1)
-#define GL_ID_READINGCONFLICT	(35)
-#define GL_ID_TOOMANYSTROKE	(34)
-#define GL_ID_TYPINGERROR	(33)
-#define GL_ID_UNKNOWN	(0)
-#define GL_ID_INPUTREADING	(36)
-#define GL_ID_INPUTRADICAL	(37)
-#define GL_ID_INPUTCODE	(38)
-#define GL_ID_CHOOSECANDIDATE	(40)
-#define GL_ID_REVERSECONVERSION	(41)
-
-/* ImmGetProperty */
-#define IGP_PROPERTY	(4)
-#define IGP_CONVERSION	(8)
-#define IGP_SENTENCE	(12)
-#define IGP_UI	(16)
-#define IGP_SETCOMPSTR	(20)
-#define IGP_SELECT	(24)
-#define IME_PROP_AT_CARET	(65536)
-#define IME_PROP_SPECIAL_UI	(131072)
-#define IME_PROP_CANDLIST_START_FROM_1	(262144)
-#define IME_PROP_UNICODE	(524288)
-#define UI_CAP_2700	(1)
-#define UI_CAP_ROT90	(2)
-#define UI_CAP_ROTANY	(4)
-#define SCS_CAP_COMPSTR	(1)
-#define SCS_CAP_MAKEREAD	(2)
-#define SELECT_CAP_CONVERSION	(1)
-#define SELECT_CAP_SENTENCE	(2)
-
-/* ImmNotifyIME */
-#define NI_CHANGECANDIDATELIST	(19)
-#define NI_CLOSECANDIDATE	(17)
-#define NI_COMPOSITIONSTR	(21)
-#define NI_OPENCANDIDATE	(16)
-#define NI_SELECTCANDIDATESTR	(18)
-#define NI_SETCANDIDATE_PAGESIZE	(23)
-#define NI_SETCANDIDATE_PAGESTART	(22)
-#define CPS_CANCEL	(4)
-#define CPS_COMPLETE	(1)
-#define CPS_CONVERT	(2)
-#define CPS_REVERT	(3)
-
-/* ImmSetCompositionString */
-#define SCS_SETSTR	(9)
-#define SCS_CHANGEATTR	(18)
-#define SCS_CHANGECLAUSE	(36)
-
-/* ImmUnregisterWord */
-#define IME_REGWORD_STYLE_EUDC	(1)
-#define IME_REGWORD_STYLE_USER_FIRST	0x80000000
-#define IME_REGWORD_STYLE_USER_LAST	(-1)
-
-/* InitializeSecurityDescriptor */
-#define SECURITY_DESCRIPTOR_REVISION	(1)
-
-/* IsTextUnicode */
-#define IS_TEXT_UNICODE_ASCII16	(1)
-#define IS_TEXT_UNICODE_REVERSE_ASCII16	(16)
-#define IS_TEXT_UNICODE_STATISTICS	(2)
-#define IS_TEXT_UNICODE_REVERSE_STATISTICS	(32)
-#define IS_TEXT_UNICODE_CONTROLS	(4)
-#define IS_TEXT_UNICODE_REVERSE_CONTROLS	(64)
-#define IS_TEXT_UNICODE_SIGNATURE	(8)
-#define IS_TEXT_UNICODE_REVERSE_SIGNATURE	(128)
-#define IS_TEXT_UNICODE_ILLEGAL_CHARS	(256)
-#define IS_TEXT_UNICODE_ODD_LENGTH	(512)
-#define IS_TEXT_UNICODE_NULL_BYTES	(4096)
-#define IS_TEXT_UNICODE_UNICODE_MASK	(15)
-#define IS_TEXT_UNICODE_REVERSE_MASK	(240)
-#define IS_TEXT_UNICODE_NOT_UNICODE_MASK	(3840)
-#define IS_TEXT_UNICODE_NOT_ASCII_MASK	(61440)
-
-/* JournalPlaybackProc, KeyboardProc */
-#define HC_GETNEXT	(1)
-#define HC_SKIP	(2)
-#define HC_SYSMODALOFF	(5)
-#define HC_SYSMODALON	(4)
-#define HC_NOREMOVE	(3)
-
-/* keybd_event */
-#define KEYEVENTF_EXTENDEDKEY	(1)
-#define KEYEVENTF_KEYUP	(2)
-
-/* LoadBitmap */
-#define OBM_BTNCORNERS	(32758)
-#define OBM_BTSIZE	(32761)
-#define OBM_CHECK	(32760)
-#define OBM_CHECKBOXES	(32759)
-#define OBM_CLOSE	(32754)
-#define OBM_COMBO	(32738)
-#define OBM_DNARROW	(32752)
-#define OBM_DNARROWD	(32742)
-#define OBM_DNARROWI	(32736)
-#define OBM_LFARROW	(32750)
-#define OBM_LFARROWI	(32734)
-#define OBM_LFARROWD	(32740)
-#define OBM_MNARROW	(32739)
-#define OBM_OLD_CLOSE	(32767)
-#define OBM_OLD_DNARROW	(32764)
-#define OBM_OLD_LFARROW	(32762)
-#define OBM_OLD_REDUCE	(32757)
-#define OBM_OLD_RESTORE	(32755)
-#define OBM_OLD_RGARROW	(32763)
-#define OBM_OLD_UPARROW	(32765)
-#define OBM_OLD_ZOOM	(32756)
-#define OBM_REDUCE	(32749)
-#define OBM_REDUCED	(32746)
-#define OBM_RESTORE	(32747)
-#define OBM_RESTORED	(32744)
-#define OBM_RGARROW	(32751)
-#define OBM_RGARROWD	(32741)
-#define OBM_RGARROWI	(32735)
-#define OBM_SIZE	(32766)
-#define OBM_UPARROW	(32753)
-#define OBM_UPARROWD	(32743)
-#define OBM_UPARROWI	(32737)
-#define OBM_ZOOM	(32748)
-#define OBM_ZOOMD	(32745)
-
-/* LoadLibraryEx */
-#define DONT_RESOLVE_DLL_REFERENCES	(1)
-#define LOAD_LIBRARY_AS_DATAFILE	(2)
-#define LOAD_WITH_ALTERED_SEARCH_PATH	(8)
-
-/* LocalAlloc, LocalFlags */
-#define LPTR	(64)
-#define LHND	(66)
-#define NONZEROLHND	(2)
-#define NONZEROLPTR	(0)
-#define LMEM_NONZEROLHND	(2)
-#define LMEM_NONZEROLPTR	(0)
-#define LMEM_FIXED	(0)
-#define LMEM_MOVEABLE	(2)
-#define LMEM_NOCOMPACT	(16)
-#define LMEM_NODISCARD	(32)
-#define LMEM_ZEROINIT	(64)
-#define LMEM_MODIFY	(128)
-#define LMEM_LOCKCOUNT	(255)
-#define LMEM_DISCARDABLE	(3840)
-#define LMEM_DISCARDED	(16384)
-#define LMEM_INVALID_HANDLE	(32768)
-
-/* LockFileEx */
-#define LOCKFILE_FAIL_IMMEDIATELY	(1)
-#define LOCKFILE_EXCLUSIVE_LOCK	(2)
-
-/* LogonUser */
-
-/* LZCopy, LZInit, LZRead */
-
-/* MessageBeep, MessageBox */
-#define MB_USERICON	(0x80L)
-#define MB_ICONASTERISK	(0x40L)
-#define MB_ICONEXCLAMATION	(0x30L)
-#define MB_ICONWARNING	(0x30L)
-#define MB_ICONERROR	(0x10L)
-#define MB_ICONHAND	(0x10L)
-#define MB_ICONQUESTION	(0x20L)
-#define MB_OK	(0L)
-#define MB_ABORTRETRYIGNORE	(0x2L)
-#define MB_APPLMODAL	(0L)
-#define MB_DEFAULT_DESKTOP_ONLY	(0x20000L)
-#define MB_HELP	(0x4000L)
-#define MB_RIGHT	(0x80000L)
-#define MB_RTLREADING	(0x100000L)
-#define MB_TOPMOST	(0x40000L)
-#define MB_DEFBUTTON1	(0L)
-#define MB_DEFBUTTON2	(0x100L)
-#define MB_DEFBUTTON3	(0x200L)
-#define MB_DEFBUTTON4	(0x300L)
-#define MB_ICONINFORMATION	(0x40L)
-#define MB_ICONSTOP	(0x10L)
-#define MB_OKCANCEL	(0x1L)
-#define MB_RETRYCANCEL	(0x5L)
-#define MB_SERVICE_NOTIFICATION	(0x40000L)
-#define MB_SETFOREGROUND	(0x10000L)
-#define MB_SYSTEMMODAL	(0x1000L)
-#define MB_TASKMODAL	(0x2000L)
-#define MB_YESNO	(0x4L)
-#define MB_YESNOCANCEL	(0x3L)
-#define IDABORT	(3)
-#define IDCANCEL	(2)
-#define IDCLOSE	(8)
-#define IDHELP	(9)
-#define IDIGNORE	(5)
-#define IDNO	(7)
-#define IDOK	(1)
-#define IDRETRY	(4)
-#define IDYES	(6)
-
-/* MessageProc */
-#define MSGF_DIALOGBOX	(0)
-#define MSGF_MENU	(2)
-#define MSGF_NEXTWINDOW	(6)
-#define MSGF_SCROLLBAR	(5)
-#define MSGF_MAINLOOP	(8)
-#define MSGF_USER	(4096)
-
-/* ModifyWorldTransform */
-#define MWT_IDENTITY	(1)
-#define MWT_LEFTMULTIPLY	(2)
-#define MWT_RIGHTMULTIPLY	(3)
-
-/* mouse_event */
-#define MOUSEEVENTF_ABSOLUTE	(32768)
-#define MOUSEEVENTF_MOVE	(1)
-#define MOUSEEVENTF_LEFTDOWN	(2)
-#define MOUSEEVENTF_LEFTUP	(4)
-#define MOUSEEVENTF_RIGHTDOWN	(8)
-#define MOUSEEVENTF_RIGHTUP	(16)
-#define MOUSEEVENTF_MIDDLEDOWN	(32)
-#define MOUSEEVENTF_MIDDLEUP	(64)
-
-/* MoveFileEx */
-#define MOVEFILE_REPLACE_EXISTING	(1)
-#define MOVEFILE_COPY_ALLOWED	(2)
-#define MOVEFILE_DELAY_UNTIL_REBOOT	(4)
-
-/* MsgWaitForMultipleObjects, WaitForMultipleObjectsEx */
-#define WAIT_OBJECT_0	(0L)
-#define WAIT_ABANDONED_0	(0x80L)
-#define WAIT_TIMEOUT	(0x102L)
-#define WAIT_IO_COMPLETION	(0xc0L)
-#define WAIT_ABANDONED	(0x80L)
-#define WAIT_FAILED	(0xffffffffL)
-#define MAXIMUM_WAIT_OBJECTS	(0x40)
-#define MAXIMUM_SUSPEND_COUNT	(0x7f)
-
-/* MultiByteToWideChar */
-#define MB_PRECOMPOSED	(1)
-#define MB_COMPOSITE	(2)
-#define MB_ERR_INVALID_CHARS	(8)
-#define MB_USEGLYPHCHARS	(4)
-
-/* NDdeSetTrustedShare */
-
-/* NetAccessCheck */
-
-/* NetServerEnum */
-
-/* NetServiceControl */
-
-/* NetUserEnum */
-
-/* OpenProcessToken */
-#define TOKEN_ADJUST_DEFAULT	(128)
-#define TOKEN_ADJUST_GROUPS	(64)
-#define TOKEN_ADJUST_PRIVILEGES	(32)
-#define TOKEN_ALL_ACCESS	(0xf00ffL)
-#define TOKEN_ASSIGN_PRIMARY	(1)
-#define TOKEN_DUPLICATE	(2)
-#define TOKEN_EXECUTE	(0x20000L)
-#define TOKEN_IMPERSONATE	(4)
-#define TOKEN_QUERY	(8)
-#define TOKEN_QUERY_SOURCE	(16)
-#define TOKEN_READ	(0x20008L)
-#define TOKEN_WRITE	(0x200e0L)
-
-/* OpenSCManager */
-#define SC_MANAGER_ALL_ACCESS	(0xf003fL)
-#define SC_MANAGER_CONNECT	(1)
-#define SC_MANAGER_CREATE_SERVICE	(2)
-#define SC_MANAGER_ENUMERATE_SERVICE	(4)
-#define SC_MANAGER_LOCK	(8)
-#define SC_MANAGER_QUERY_LOCK_STATUS	(16)
-#define SC_MANAGER_MODIFY_BOOT_CONFIG	(32)
-
-/* PostMessage */
-#define HWND_BROADCAST	((HWND)0xFFFF)
-
-/* PrepareTape */
-#define TAPE_FORMAT	(0x5L)
-#define TAPE_LOAD	(0L)
-#define TAPE_LOCK	(0x3L)
-#define TAPE_TENSION	(0x2L)
-#define TAPE_UNLOAD	(0x1L)
-#define TAPE_UNLOCK	(0x4L)
-
-/* PropertySheet */
-#define IS_PSREBOOTSYSTEM	(3)
-#define IS_PSRESTARTWINDOWS	(2)
-
-/* PropSheetPageProc */
-#define PSPCB_CREATE	(2)
-#define PSPCB_RELEASE	(1)
-
-/* PurgeComm */
-#define PURGE_TXABORT	(1)
-#define PURGE_RXABORT	(2)
-#define PURGE_TXCLEAR	(4)
-#define PURGE_RXCLEAR	(8)
-
-/* QueryServiceObjectSecurity */
-#define OWNER_SECURITY_INFORMATION	(0x1L)
-#define GROUP_SECURITY_INFORMATION	(0x2L)
-#define DACL_SECURITY_INFORMATION	(0x4L)
-#define SACL_SECURITY_INFORMATION	(0x8L)
-
-/* ReadEventLog, ReportEvent */
-#define EVENTLOG_FORWARDS_READ	(4)
-#define EVENTLOG_BACKWARDS_READ	(8)
-#define EVENTLOG_SEEK_READ	(2)
-#define EVENTLOG_SEQUENTIAL_READ	(1)
-#define EVENTLOG_ERROR_TYPE	(1)
-#define EVENTLOG_WARNING_TYPE	(2)
-#define EVENTLOG_INFORMATION_TYPE	(4)
-#define EVENTLOG_AUDIT_SUCCESS	(8)
-#define EVENTLOG_AUDIT_FAILURE	(16)
-
-/* RedrawWindow */
-#define RDW_ERASE	(4)
-#define RDW_FRAME	(1024)
-#define RDW_INTERNALPAINT	(2)
-#define RDW_INVALIDATE	(1)
-#define RDW_NOERASE	(32)
-#define RDW_NOFRAME	(2048)
-#define RDW_NOINTERNALPAINT	(16)
-#define RDW_VALIDATE	(8)
-#define RDW_ERASENOW	(512)
-#define RDW_UPDATENOW	(256)
-#define RDW_ALLCHILDREN	(128)
-#define RDW_NOCHILDREN	(64)
-
-/* RegCreateKey */
-#define HKEY_CLASSES_ROOT	((HKEY)0x80000000)
-#define HKEY_CURRENT_USER	((HKEY)0x80000001)
-#define HKEY_LOCAL_MACHINE	((HKEY)0x80000002)
-#define HKEY_USERS	((HKEY)0x80000003)
-#define HKEY_PERFORMANCE_DATA	((HKEY)0x80000004)
-#define HKEY_CURRENT_CONFIG	((HKEY)0x80000005)
-
-/* RegCreateKeyEx */
-#define REG_OPTION_VOLATILE	(0x1L)
-#define REG_OPTION_NON_VOLATILE	(0L)
-#define REG_CREATED_NEW_KEY	(0x1L)
-#define REG_OPENED_EXISTING_KEY	(0x2L)
-
-/* RegEnumValue */
-#define REG_BINARY	(3)
-#define REG_DWORD	(4)
-#define REG_DWORD_LITTLE_ENDIAN	(4)
-#define REG_DWORD_BIG_ENDIAN	(5)
-#define REG_EXPAND_SZ	(2)
-#define REG_LINK	(6)
-#define REG_MULTI_SZ	(7)
-#define REG_NONE	(0)
-#define REG_RESOURCE_LIST	(8)
-#define REG_SZ	(1)
-
-/* RegisterHotKey */
-#define MOD_ALT	(1)
-#define MOD_CONTROL	(2)
-#define MOD_SHIFT	(4)
-#define MOD_WIN	(8)
-#define IDHOT_SNAPDESKTOP	(-2)
-#define IDHOT_SNAPWINDOW	(-1)
-
-/* RegNotifyChangeKeyValue */
-#define REG_NOTIFY_CHANGE_NAME	(0x1L)
-#define REG_NOTIFY_CHANGE_ATTRIBUTES	(0x2L)
-#define REG_NOTIFY_CHANGE_LAST_SET	(0x4L)
-#define REG_NOTIFY_CHANGE_SECURITY	(0x8L)
-
-/* ScrollWindowEx */
-#define SW_ERASE	(4)
-#define SW_INVALIDATE	(2)
-#define SW_SCROLLCHILDREN	(1)
-
-/* SendMessageTimeout */
-#define SMTO_ABORTIFHUNG	(2)
-#define SMTO_BLOCK	(1)
-#define SMTO_NORMAL	(0)
-
-/* SetBkMode */
-#define OPAQUE	(2)
-#define TRANSPARENT	(1)
-
-/* SetDebugErrorLevel */
-#define SLE_ERROR	(1)
-#define SLE_MINORERROR	(2)
-#define SLE_WARNING	(3)
-
-/* SetErrorMode */
-#define SEM_FAILCRITICALERRORS	(1)
-#define SEM_NOALIGNMENTFAULTEXCEPT	(4)
-#define SEM_NOGPFAULTERRORBOX	(2)
-#define SEM_NOOPENFILEERRORBOX	(32768)
-
-/* SetICMMode */
-#define ICM_ON	(2)
-#define ICM_OFF	(1)
-#define ICM_QUERY	(3)
-
-/* SetJob */
-
-/* Locale Information */
-#define LOCALE_ILANGUAGE	(1)
-#define LOCALE_SLANGUAGE	(2)
-#define LOCALE_SENGLANGUAGE	(4097)
-#define LOCALE_SABBREVLANGNAME	(3)
-#define LOCALE_SNATIVELANGNAME	(4)
-#define LOCALE_ICOUNTRY	(5)
-#define LOCALE_SCOUNTRY	(6)
-#define LOCALE_SENGCOUNTRY	(4098)
-#define LOCALE_SABBREVCTRYNAME	(7)
-#define LOCALE_SNATIVECTRYNAME	(8)
-#define LOCALE_IDEFAULTLANGUAGE	(9)
-#define LOCALE_IDEFAULTCOUNTRY	(10)
-#define LOCALE_IDEFAULTANSICODEPAGE	(4100)
-#define LOCALE_IDEFAULTCODEPAGE	(11)
-#define LOCALE_SLIST	(12)
-#define LOCALE_IMEASURE	(13)
-#define LOCALE_SDECIMAL	(14)
-#define LOCALE_STHOUSAND	(15)
-#define LOCALE_SGROUPING	(16)
-#define LOCALE_IDIGITS	(17)
-#define LOCALE_ILZERO	(18)
-#define LOCALE_INEGNUMBER	(4112)
-#define LOCALE_SCURRENCY	(20)
-#define LOCALE_SMONDECIMALSEP	(22)
-#define LOCALE_SMONTHOUSANDSEP	(23)
-#define LOCALE_SMONGROUPING	(24)
-#define LOCALE_ICURRDIGITS	(25)
-#define LOCALE_ICURRENCY	(27)
-#define LOCALE_INEGCURR	(28)
-#define LOCALE_SDATE	(29)
-#define LOCALE_STIME	(30)
-#define LOCALE_STIMEFORMAT	(4099)
-#define LOCALE_SSHORTDATE	(31)
-#define LOCALE_SLONGDATE	(32)
-#define LOCALE_IDATE	(33)
-#define LOCALE_ILDATE	(34)
-#define LOCALE_ITIME	(35)
-#define LOCALE_ITLZERO	(37)
-#define LOCALE_IDAYLZERO	(38)
-#define LOCALE_IMONLZERO	(39)
-#define LOCALE_S1159	(40)
-#define LOCALE_S2359	(41)
-#define LOCALE_ICALENDARTYPE	(4105)
-#define LOCALE_IOPTIONALCALENDAR	(4107)
-#define LOCALE_IFIRSTDAYOFWEEK	(4108)
-#define LOCALE_IFIRSTWEEKOFYEAR	(4109)
-#define LOCALE_SDAYNAME1	(42)
-#define LOCALE_SDAYNAME2	(43)
-#define LOCALE_SDAYNAME3	(44)
-#define LOCALE_SDAYNAME4	(45)
-#define LOCALE_SDAYNAME5	(46)
-#define LOCALE_SDAYNAME6	(47)
-#define LOCALE_SDAYNAME7	(48)
-#define LOCALE_SABBREVDAYNAME1	(49)
-#define LOCALE_SABBREVDAYNAME2	(50)
-#define LOCALE_SABBREVDAYNAME3	(51)
-#define LOCALE_SABBREVDAYNAME4	(52)
-#define LOCALE_SABBREVDAYNAME5	(53)
-#define LOCALE_SABBREVDAYNAME6	(54)
-#define LOCALE_SABBREVDAYNAME7	(55)
-#define LOCALE_SMONTHNAME1	(56)
-#define LOCALE_SMONTHNAME2	(57)
-#define LOCALE_SMONTHNAME3	(58)
-#define LOCALE_SMONTHNAME4	(59)
-#define LOCALE_SMONTHNAME5	(60)
-#define LOCALE_SMONTHNAME6	(61)
-#define LOCALE_SMONTHNAME7	(62)
-#define LOCALE_SMONTHNAME8	(63)
-#define LOCALE_SMONTHNAME9	(64)
-#define LOCALE_SMONTHNAME10	(65)
-#define LOCALE_SMONTHNAME11	(66)
-#define LOCALE_SMONTHNAME12	(67)
-#define LOCALE_SMONTHNAME13	(4110)
-#define LOCALE_SABBREVMONTHNAME1	(68)
-#define LOCALE_SABBREVMONTHNAME2	(69)
-#define LOCALE_SABBREVMONTHNAME3	(70)
-#define LOCALE_SABBREVMONTHNAME4	(71)
-#define LOCALE_SABBREVMONTHNAME5	(72)
-#define LOCALE_SABBREVMONTHNAME6	(73)
-#define LOCALE_SABBREVMONTHNAME7	(74)
-#define LOCALE_SABBREVMONTHNAME8	(75)
-#define LOCALE_SABBREVMONTHNAME9	(76)
-#define LOCALE_SABBREVMONTHNAME10	(77)
-#define LOCALE_SABBREVMONTHNAME11	(78)
-#define LOCALE_SABBREVMONTHNAME12	(79)
-#define LOCALE_SABBREVMONTHNAME13	(4111)
-#define LOCALE_SPOSITIVESIGN	(80)
-#define LOCALE_SNEGATIVESIGN	(81)
-#define LOCALE_IPOSSIGNPOSN	(82)
-#define LOCALE_INEGSIGNPOSN	(83)
-#define LOCALE_IPOSSYMPRECEDES	(84)
-#define LOCALE_IPOSSEPBYSPACE	(85)
-#define LOCALE_INEGSYMPRECEDES	(86)
-#define LOCALE_INEGSEPBYSPACE	(87)
-#define LOCALE_NOUSEROVERRIDE	(0x80000000)
-
-/* Calendar Type Information */
-#define CAL_ICALINTVALUE	(1)
-#define CAL_IYEAROFFSETRANGE	(3)
-#define CAL_SABBREVDAYNAME1	(14)
-#define CAL_SABBREVDAYNAME2	(15)
-#define CAL_SABBREVDAYNAME3	(16)
-#define CAL_SABBREVDAYNAME4	(17)
-#define CAL_SABBREVDAYNAME5	(18)
-#define CAL_SABBREVDAYNAME6	(19)
-#define CAL_SABBREVDAYNAME7	(20)
-#define CAL_SABBREVMONTHNAME1	(34)
-#define CAL_SABBREVMONTHNAME2	(35)
-#define CAL_SABBREVMONTHNAME3	(36)
-#define CAL_SABBREVMONTHNAME4	(37)
-#define CAL_SABBREVMONTHNAME5	(38)
-#define CAL_SABBREVMONTHNAME6	(39)
-#define CAL_SABBREVMONTHNAME7	(40)
-#define CAL_SABBREVMONTHNAME8	(41)
-#define CAL_SABBREVMONTHNAME9	(42)
-#define CAL_SABBREVMONTHNAME10	(43)
-#define CAL_SABBREVMONTHNAME11	(44)
-#define CAL_SABBREVMONTHNAME12	(45)
-#define CAL_SABBREVMONTHNAME13	(46)
-#define CAL_SCALNAME	(2)
-#define CAL_SDAYNAME1	(7)
-#define CAL_SDAYNAME2	(8)
-#define CAL_SDAYNAME3	(9)
-#define CAL_SDAYNAME4	(10)
-#define CAL_SDAYNAME5	(11)
-#define CAL_SDAYNAME6	(12)
-#define CAL_SDAYNAME7	(13)
-#define CAL_SERASTRING	(4)
-#define CAL_SLONGDATE	(6)
-#define CAL_SMONTHNAME1	(21)
-#define CAL_SMONTHNAME2	(22)
-#define CAL_SMONTHNAME3	(23)
-#define CAL_SMONTHNAME4	(24)
-#define CAL_SMONTHNAME5	(25)
-#define CAL_SMONTHNAME6	(26)
-#define CAL_SMONTHNAME7	(27)
-#define CAL_SMONTHNAME8	(28)
-#define CAL_SMONTHNAME9	(29)
-#define CAL_SMONTHNAME10	(30)
-#define CAL_SMONTHNAME11	(31)
-#define CAL_SMONTHNAME12	(32)
-#define CAL_SMONTHNAME13	(33)
-#define CAL_SSHORTDATE	(5)
-
-/* SetProcessWorkingSetSize */
-#define PROCESS_SET_QUOTA	(256)
-
-/* SetPrinter */
-
-/* SetService */
-
-/* SetStretchBltMode */
-#define BLACKONWHITE	(1)
-#define COLORONCOLOR	(3)
-#define HALFTONE	(4)
-#define STRETCH_ANDSCANS	(1)
-#define STRETCH_DELETESCANS	(3)
-#define STRETCH_HALFTONE	(4)
-#define STRETCH_ORSCANS	(2)
-#define WHITEONBLACK	(2)
-
-/* SetSystemCursor */
-#define OCR_NORMAL	(32512)
-#define OCR_IBEAM	(32513)
-#define OCR_WAIT	(32514)
-#define OCR_CROSS	(32515)
-#define OCR_UP	(32516)
-#define OCR_SIZE	(32640)
-#define OCR_ICON	(32641)
-#define OCR_SIZENWSE	(32642)
-#define OCR_SIZENESW	(32643)
-#define OCR_SIZEWE	(32644)
-#define OCR_SIZENS	(32645)
-#define OCR_SIZEALL	(32646)
-#define OCR_NO	(32648)
-#define OCR_APPSTARTING	(32650)
-
-/* SetTapePosition */
-#define TAPE_ABSOLUTE_BLOCK	(0x1L)
-#define TAPE_LOGICAL_BLOCK	(0x2L)
-#define TAPE_REWIND	(0L)
-#define TAPE_SPACE_END_OF_DATA	(0x4L)
-#define TAPE_SPACE_FILEMARKS	(0x6L)
-#define TAPE_SPACE_RELATIVE_BLOCKS	(0x5L)
-#define TAPE_SPACE_SEQUENTIAL_FMKS	(0x7L)
-#define TAPE_SPACE_SEQUENTIAL_SMKS	(0x9L)
-#define TAPE_SPACE_SETMARKS	(0x8L)
-
-/* SetUnhandledExceptionFilter */
-#define EXCEPTION_EXECUTE_HANDLER	(1)
-#define EXCEPTION_CONTINUE_EXECUTION	(-1)
-#define EXCEPTION_CONTINUE_SEARCH	(0)
-
-/* SetWindowPos, DeferWindowPos */
-#define HWND_BOTTOM	((HWND)1)
-#define HWND_NOTOPMOST	((HWND)-2)
-#define HWND_TOP	((HWND)0)
-#define HWND_TOPMOST	((HWND)-1)
-#define SWP_DRAWFRAME	(32)
-#define SWP_FRAMECHANGED	(32)
-#define SWP_HIDEWINDOW	(128)
-#define SWP_NOACTIVATE	(16)
-#define SWP_NOCOPYBITS	(256)
-#define SWP_NOMOVE	(2)
-#define SWP_NOSIZE	(1)
-#define SWP_NOREDRAW	(8)
-#define SWP_NOZORDER	(4)
-#define SWP_SHOWWINDOW	(64)
-#define SWP_NOOWNERZORDER	(512)
-#define SWP_NOREPOSITION	(512)
-#define SWP_NOSENDCHANGING	(1024)
-
-/* SHAddToRecentDocs */
-
-/* SHAppBarMessage */
-
-/* SHChangeNotify */
-
-/* ShellProc */
-#define HSHELL_ACTIVATESHELLWINDOW	(3)
-#define HSHELL_GETMINRECT	(5)
-#define HSHELL_LANGUAGE	(8)
-#define HSHELL_REDRAW	(6)
-#define HSHELL_TASKMAN	(7)
-#define HSHELL_WINDOWACTIVATED	(4)
-#define HSHELL_WINDOWCREATED	(1)
-#define HSHELL_WINDOWDESTROYED	(2)
-
-/* SHGetFileInfo */
-
-/* SHGetSpecialFolderLocation */
-
-/* ShowWindow */
-#define SW_HIDE	(0)
-#define SW_MAXIMIZE	(3)
-#define SW_MINIMIZE	(6)
-#define SW_NORMAL	(1)
-#define SW_RESTORE	(9)
-#define SW_SHOW	(5)
-#define SW_SHOWDEFAULT	(10)
-#define SW_SHOWMAXIMIZED	(3)
-#define SW_SHOWMINIMIZED	(2)
-#define SW_SHOWMINNOACTIVE	(7)
-#define SW_SHOWNA	(8)
-#define SW_SHOWNOACTIVATE	(4)
-#define SW_SHOWNORMAL	(1)
-#define WPF_RESTORETOMAXIMIZED	(2)
-#define WPF_SETMINPOSITION	(1)
-
-/* Sleep */
-#define INFINITE	0xFFFFFFFF
-
-/* SystemParametersInfo */
-#define SPI_GETACCESSTIMEOUT	(60)
-#define SPI_GETANIMATION	(72)
-#define SPI_GETBEEP	(1)
-#define SPI_GETBORDER	(5)
-#define SPI_GETDEFAULTINPUTLANG	(89)
-#define SPI_GETDRAGFULLWINDOWS	(38)
-#define SPI_GETFASTTASKSWITCH	(35)
-#define SPI_GETFILTERKEYS	(50)
-#define SPI_GETFONTSMOOTHING	(74)
-#define SPI_GETGRIDGRANULARITY	(18)
-#define SPI_GETHIGHCONTRAST	(66)
-#define SPI_GETICONMETRICS	(45)
-#define SPI_GETICONTITLELOGFONT	(31)
-#define SPI_GETICONTITLEWRAP	(25)
-#define SPI_GETKEYBOARDDELAY	(22)
-#define SPI_GETKEYBOARDPREF	(68)
-#define SPI_GETKEYBOARDSPEED	(10)
-#define SPI_GETLOWPOWERACTIVE	(83)
-#define SPI_GETLOWPOWERTIMEOUT	(79)
-#define SPI_GETMENUDROPALIGNMENT	(27)
-#define SPI_GETMINIMIZEDMETRICS	(43)
-#define SPI_GETMOUSE	(3)
-#define SPI_GETMOUSEKEYS	(54)
-#define SPI_GETMOUSETRAILS	(94)
-#define SPI_GETNONCLIENTMETRICS	(41)
-#define SPI_GETPOWEROFFACTIVE	(84)
-#define SPI_GETPOWEROFFTIMEOUT	(80)
-#define SPI_GETSCREENREADER	(70)
-#define SPI_GETSCREENSAVEACTIVE	(16)
-#define SPI_GETSCREENSAVETIMEOUT	(14)
-#define SPI_GETSERIALKEYS	(62)
-#define SPI_GETSHOWSOUNDS	(56)
-#define SPI_GETSOUNDSENTRY	(64)
-#define SPI_GETSTICKYKEYS	(58)
-#define SPI_GETTOGGLEKEYS	(52)
-#define SPI_GETWINDOWSEXTENSION	(92)
-#define SPI_GETWORKAREA	(48)
-#define SPI_ICONHORIZONTALSPACING	(13)
-#define SPI_ICONVERTICALSPACING	(24)
-#define SPI_LANGDRIVER	(12)
-#define SPI_SCREENSAVERRUNNING	(97)
-#define SPI_SETACCESSTIMEOUT	(61)
-#define SPI_SETANIMATION	(73)
-#define SPI_SETBEEP	(2)
-#define SPI_SETBORDER	(6)
-#define SPI_SETDEFAULTINPUTLANG	(90)
-#define SPI_SETDESKPATTERN	(21)
-#define SPI_SETDESKWALLPAPER	(20)
-#define SPI_SETDOUBLECLICKTIME	(32)
-#define SPI_SETDOUBLECLKHEIGHT	(30)
-#define SPI_SETDOUBLECLKWIDTH	(29)
-#define SPI_SETDRAGFULLWINDOWS	(37)
-#define SPI_SETDRAGHEIGHT	(77)
-#define SPI_SETDRAGWIDTH	(76)
-#define SPI_SETFASTTASKSWITCH	(36)
-#define SPI_SETFILTERKEYS	(51)
-#define SPI_SETFONTSMOOTHING	(75)
-#define SPI_SETGRIDGRANULARITY	(19)
-#define SPI_SETHANDHELD	(78)
-#define SPI_SETHIGHCONTRAST	(67)
-#define SPI_SETICONMETRICS	(46)
-#define SPI_SETICONTITLELOGFONT	(34)
-#define SPI_SETICONTITLEWRAP	(26)
-#define SPI_SETKEYBOARDDELAY	(23)
-#define SPI_SETKEYBOARDPREF	(69)
-#define SPI_SETKEYBOARDSPEED	(11)
-#define SPI_SETLANGTOGGLE	(91)
-#define SPI_SETLOWPOWERACTIVE	(85)
-#define SPI_SETLOWPOWERTIMEOUT	(81)
-#define SPI_SETMENUDROPALIGNMENT	(28)
-#define SPI_SETMINIMIZEDMETRICS	(44)
-#define SPI_SETMOUSE	(4)
-#define SPI_SETMOUSEBUTTONSWAP	(33)
-#define SPI_SETMOUSEKEYS	(55)
-#define SPI_SETMOUSETRAILS	(93)
-#define SPI_SETNONCLIENTMETRICS	(42)
-#define SPI_SETPENWINDOWS	(49)
-#define SPI_SETPOWEROFFACTIVE	(86)
-#define SPI_SETPOWEROFFTIMEOUT	(82)
-#define SPI_SETSCREENREADER	(71)
-#define SPI_SETSCREENSAVEACTIVE	(17)
-#define SPI_SETSCREENSAVETIMEOUT	(15)
-#define SPI_SETSERIALKEYS	(63)
-#define SPI_SETSHOWSOUNDS	(57)
-#define SPI_SETSOUNDSENTRY	(65)
-#define SPI_SETSTICKYKEYS	(59)
-#define SPI_SETTOGGLEKEYS	(53)
-#define SPI_SETWORKAREA	(47)
-#define SPIF_UPDATEINIFILE	(1)
-#define SPIF_SENDWININICHANGE	(2)
-#define SPIF_SENDCHANGE	(2)
-
-/* TrackPopupMenu, TrackPopMenuEx */
-#define TPM_CENTERALIGN	(0x4L)
-#define TPM_LEFTALIGN	(0L)
-#define TPM_RIGHTALIGN	(0x8L)
-#define TPM_LEFTBUTTON	(0L)
-#define TPM_RIGHTBUTTON	(0x2L)
-#define TPM_HORIZONTAL	(0L)
-#define TPM_VERTICAL	(0x40L)
-
-/* TranslateCharsetInfo */
-#define TCI_SRCCHARSET	(1)
-#define TCI_SRCCODEPAGE	(2)
-#define TCI_SRCFONTSIG	(3)
-
-/* VerFindFile */
-#define VFFF_ISSHAREDFILE	(1)
-#define VFF_CURNEDEST	(1)
-#define VFF_FILEINUSE	(2)
-#define VFF_BUFFTOOSMALL	(4)
-
-/* VerInstallFile */
-#define VIFF_FORCEINSTALL	(1)
-#define VIFF_DONTDELETEOLD	(2)
-#define VIF_TEMPFILE	(0x1L)
-#define VIF_MISMATCH	(0x2L)
-#define VIF_SRCOLD	(0x4L)
-#define VIF_DIFFLANG	(0x8L)
-#define VIF_DIFFCODEPG	(0x10L)
-#define VIF_DIFFTYPE	(0x20L)
-#define VIF_WRITEPROT	(0x40L)
-#define VIF_FILEINUSE	(0x80L)
-#define VIF_OUTOFSPACE	(0x100L)
-#define VIF_ACCESSVIOLATION	(0x200L)
-#define VIF_SHARINGVIOLATION	(0x400L)
-#define VIF_CANNOTCREATE	(0x800L)
-#define VIF_CANNOTDELETE	(0x1000L)
-#define VIF_CANNOTDELETECUR	(0x4000L)
-#define VIF_CANNOTRENAME	(0x2000L)
-#define VIF_OUTOFMEMORY	(0x8000L)
-#define VIF_CANNOTREADSRC	(0x10000L)
-#define VIF_CANNOTREADDST	(0x20000L)
-#define VIF_BUFFTOOSMALL	(0x40000L)
-
-/* WideCharToMultiByte */
-#define WC_COMPOSITECHECK	(512)
-#define WC_DISCARDNS	(16)
-#define WC_SEPCHARS	(32)
-#define WC_DEFAULTCHAR	(64)
-
-/* WinHelp */
-#define HELP_COMMAND	(0x102L)
-#define HELP_CONTENTS	(0x3L)
-#define HELP_CONTEXT	(0x1L)
-#define HELP_CONTEXTPOPUP	(0x8L)
-#define HELP_FORCEFILE	(0x9L)
-#define HELP_HELPONHELP	(0x4L)
-#define HELP_INDEX	(0x3L)
-#define HELP_KEY	(0x101L)
-#define HELP_MULTIKEY	(0x201L)
-#define HELP_PARTIALKEY	(0x105L)
-#define HELP_QUIT	(0x2L)
-#define HELP_SETCONTENTS	(0x5L)
-#define HELP_SETINDEX	(0x5L)
-#define HELP_CONTEXTMENU	(0xa)
-#define HELP_FINDER	(0xb)
-#define HELP_WM_HELP	(0xc)
-#define HELP_TCARD	(0x8000)
-#define HELP_TCARD_DATA	(0x10)
-#define HELP_TCARD_OTHER_CALLER	(0x11)
-
-/* WNetAddConnectino2 */
-#define CONNECT_UPDATE_PROFILE	(1)
-
-/* WNetConnectionDialog, WNetDisconnectDialog, WNetOpenEnum */
-#define RESOURCETYPE_DISK	(1)
-#define RESOURCETYPE_PRINT	(2)
-#define RESOURCETYPE_ANY	(0)
-#define RESOURCE_CONNECTED	(1)
-#define RESOURCE_GLOBALNET	(2)
-#define RESOURCE_REMEMBERED	(3)
-#define RESOURCEUSAGE_CONNECTABLE	(1)
-#define RESOURCEUSAGE_CONTAINER	(2)
-
-/* WNetGetResourceInformation, WNetGetResourceParent */
-#define WN_BAD_NETNAME	(0x43L)
-#define WN_EXTENDED_ERROR	(0x4b8L)
-#define WN_MORE_DATA	(0xeaL)
-#define WN_NO_NETWORK	(0x4c6L)
-#define WN_SUCCESS	(0L)
-#define WN_ACCESS_DENIED	(0x5L)
-#define WN_BAD_PROVIDER	(0x4b4L)
-#define WN_NOT_AUTHENTICATED	(0x4dcL)
-
-/* WNetGetUniversalName */
-#define UNIVERSAL_NAME_INFO_LEVEL	(1)
-#define REMOTE_NAME_INFO_LEVEL	(2)
-
-/* GetExitCodeThread */
-#define STILL_ACTIVE	(0x103L)
-
-/* COMMPROP structure */
-#define SP_SERIALCOMM	(0x1L)
-#define BAUD_075	(0x1L)
-#define BAUD_110	(0x2L)
-#define BAUD_134_5	(0x4L)
-#define BAUD_150	(0x8L)
-#define BAUD_300	(0x10L)
-#define BAUD_600	(0x20L)
-#define BAUD_1200	(0x40L)
-#define BAUD_1800	(0x80L)
-#define BAUD_2400	(0x100L)
-#define BAUD_4800	(0x200L)
-#define BAUD_7200	(0x400L)
-#define BAUD_9600	(0x800L)
-#define BAUD_14400	(0x1000L)
-#define BAUD_19200	(0x2000L)
-#define BAUD_38400	(0x4000L)
-#define BAUD_56K	(0x8000L)
-#define BAUD_57600	(0x40000L)
-#define BAUD_115200	(0x20000L)
-#define BAUD_128K	(0x10000L)
-#define BAUD_USER	(0x10000000L)
-#define PST_FAX	(0x21L)
-#define PST_LAT	(0x101L)
-#define PST_MODEM	(0x6L)
-#define PST_NETWORK_BRIDGE	(0x100L)
-#define PST_PARALLELPORT	(0x2L)
-#define PST_RS232	(0x1L)
-#define PST_RS422	(0x3L)
-#define PST_RS423	(0x4L)
-#define PST_RS449	(0x5L)
-#define PST_SCANNER	(0x22L)
-#define PST_TCPIP_TELNET	(0x102L)
-#define PST_UNSPECIFIED	(0L)
-#define PST_X25	(0x103L)
-#define PCF_16BITMODE	(0x200L)
-#define PCF_DTRDSR	(0x1L)
-#define PCF_INTTIMEOUTS	(0x80L)
-#define PCF_PARITY_CHECK	(0x8L)
-#define PCF_RLSD	(0x4L)
-#define PCF_RTSCTS	(0x2L)
-#define PCF_SETXCHAR	(0x20L)
-#define PCF_SPECIALCHARS	(0x100L)
-#define PCF_TOTALTIMEOUTS	(0x40L)
-#define PCF_XONXOFF	(0x10L)
-#define SP_BAUD	(0x2L)
-#define SP_DATABITS	(0x4L)
-#define SP_HANDSHAKING	(0x10L)
-#define SP_PARITY	(0x1L)
-#define SP_PARITY_CHECK	(0x20L)
-#define SP_RLSD	(0x40L)
-#define SP_STOPBITS	(0x8L)
-#define DATABITS_5	(1)
-#define DATABITS_6	(2)
-#define DATABITS_7	(4)
-#define DATABITS_8	(8)
-#define DATABITS_16	(16)
-#define DATABITS_16X	(32)
-#define STOPBITS_10	(1)
-#define STOPBITS_15	(2)
-#define STOPBITS_20	(4)
-#define PARITY_NONE	(256)
-#define PARITY_ODD	(512)
-#define PARITY_EVEN	(1024)
-#define PARITY_MARK	(2048)
-#define PARITY_SPACE	(4096)
-#define COMMPROP_INITIALIZED	(0xe73cf52eL)
-
-/* DCB structure */
-#define CBR_110	(110)
-#define CBR_300	(300)
-#define CBR_600	(600)
-#define CBR_1200	(1200)
-#define CBR_2400	(2400)
-#define CBR_4800	(4800)
-#define CBR_9600	(9600)
-#define CBR_14400	(14400)
-#define CBR_19200	(19200)
-#define CBR_38400	(38400)
-#define CBR_56000	(56000)
-#define CBR_57600	(57600)
-#define CBR_115200	(115200)
-#define CBR_128000	(128000)
-#define CBR_256000	(256000)
-#define DTR_CONTROL_DISABLE	(0)
-#define DTR_CONTROL_ENABLE	(1)
-#define DTR_CONTROL_HANDSHAKE	(2)
-#define RTS_CONTROL_DISABLE	(0)
-#define RTS_CONTROL_ENABLE	(1)
-#define RTS_CONTROL_HANDSHAKE	(2)
-#define RTS_CONTROL_TOGGLE	(3)
-#define EVENPARITY	(2)
-#define MARKPARITY	(3)
-#define NOPARITY	(0)
-#define ODDPARITY	(1)
-#define SPACEPARITY	(4)
-#define ONESTOPBIT	(0)
-#define ONE5STOPBITS	(1)
-#define TWOSTOPBITS	(2)
-
-/* Debugging events */
-#define CREATE_PROCESS_DEBUG_EVENT	(3)
-#define CREATE_THREAD_DEBUG_EVENT	(2)
-#define EXCEPTION_DEBUG_EVENT	(1)
-#define EXIT_PROCESS_DEBUG_EVENT	(5)
-#define EXIT_THREAD_DEBUG_EVENT	(4)
-#define LOAD_DLL_DEBUG_EVENT	(6)
-#define OUTPUT_DEBUG_STRING_EVENT	(8)
-#define UNLOAD_DLL_DEBUG_EVENT	(7)
-#define RIP_EVENT	(9)
-
-/* PROCESS_HEAP_ENTRY structure */
-#define PROCESS_HEAP_REGION	(1)
-#define PROCESS_HEAP_UNCOMMITTED_RANGE	(2)
-#define PROCESS_HEAP_ENTRY_BUSY	(4)
-#define PROCESS_HEAP_ENTRY_MOVEABLE	(16)
-#define PROCESS_HEAP_ENTRY_DDESHARE	(32)
-
-/* Win32s */
-#define HINSTANCE_ERROR	(32)
-
-/* WIN32_STREAM_ID structure */
-#define BACKUP_DATA	(1)
-#define BACKUP_EA_DATA	(2)
-#define BACKUP_SECURITY_DATA	(3)
-#define BACKUP_ALTERNATE_DATA	(4)
-#define BACKUP_LINK	(5)
-#define STREAM_MODIFIED_WHEN_READ	(1)
-#define STREAM_CONTAINS_SECURITY	(2)
-
-/* STARTUPINFO structure */
-#define STARTF_USESHOWWINDOW	(1)
-#define STARTF_USEPOSITION	(4)
-#define STARTF_USESIZE	(2)
-#define STARTF_USECOUNTCHARS	(8)
-#define STARTF_USEFILLATTRIBUTE	(16)
-#define STARTF_RUNFULLSCREEN 	(32) 
-#define STARTF_FORCEONFEEDBACK	(64)
-#define STARTF_FORCEOFFFEEDBACK	(128)
-#define STARTF_USESTDHANDLES	(256)
-#define STARTF_USEHOTKEY	(512)
-
-/* OSVERSIONINFO structure */
-#define VER_PLATFORM_WIN32s	(0)
-#define VER_PLATFORM_WIN32_WINDOWS (1)
-#define VER_PLATFORM_WIN32_NT	(2)
-
-/* PROPSHEETPAGE structure */
-#define MAXPROPPAGES	(100)
-#define PSP_DEFAULT	(0)
-#define PSP_DLGINDIRECT	(1)
-#define PSP_HASHELP	(32)
-#define PSP_USECALLBACK	(128)
-#define PSP_USEHICON	(2)
-#define PSP_USEICONID	(4)
-#define PSP_USEREFPARENT	(64)
-#define PSP_USETITLE	(8)
-#define PSP_RTLREADING	(16)
-
-/* PROPSHEETHEADER structure */
-#define PSH_DEFAULT	(0)
-#define PSH_HASHELP	(512)
-#define PSH_MODELESS	(1024)
-#define PSH_NOAPPLYNOW	(128)
-#define PSH_PROPSHEETPAGE	(8)
-#define PSH_PROPTITLE	(1)
-#define PSH_USECALLBACK	(256)
-#define PSH_USEHICON	(2)
-#define PSH_USEICONID	(4)
-#define PSH_USEPSTARTPAGE	(64)
-#define PSH_WIZARD	(32)
-#define PSH_RTLREADING	(2048)
-#define PSCB_INITIALIZED	(1)
-#define PSCB_PRECREATE	(2)
-
-/* PSN_APPLY message */
-#define PSNRET_NOERROR	(0)
-#define PSNRET_INVALID_NOCHANGEPAGE	(2)
-
-/* Property Sheet */
-#define PSBTN_APPLYNOW	(4)
-#define PSBTN_BACK	(0)
-#define PSBTN_CANCEL	(5)
-#define PSBTN_FINISH	(2)
-#define PSBTN_HELP	(6)
-#define PSBTN_NEXT	(1)
-#define PSBTN_OK	(3)
-#define PSWIZB_BACK	(1)
-#define PSWIZB_NEXT	(2)
-#define PSWIZB_FINISH	(4)
-#define PSWIZB_DISABLEDFINISH	(8)
-#define ID_PSREBOOTSYSTEM	(3)
-#define ID_PSRESTARTWINDOWS	(2)
-#define WIZ_BODYCX	(184)
-#define WIZ_BODYX	(92)
-#define WIZ_CXBMP	(80)
-#define WIZ_CXDLG	(276)
-#define WIZ_CYDLG	(140)
-
-/* VX_FIXEDFILEINFO structure */
-#define VS_FILE_INFO	(MAKEINTRESOURCE(16))
-#define VS_VERSION_INFO	(1)
-#define VS_FF_DEBUG	(0x1L)
-#define VS_FF_INFOINFERRED	(0x10L)
-#define VS_FF_PATCHED	(0x4L)
-#define VS_FF_PRERELEASE	(0x2L)
-#define VS_FF_PRIVATEBUILD	(0x8L)
-#define VS_FF_SPECIALBUILD	(0x20L)
-#define VOS_UNKNOWN	(0L)
-#define VOS_DOS	(0x10000L)
-#define VOS_OS216	(0x20000L)
-#define VOS_OS232	(0x30000L)
-#define VOS_NT	(0x40000L)
-#define VOS_DOS_WINDOWS16	(0x10001L)
-#define VOS_DOS_WINDOWS32	(0x10004L)
-#define VOS_OS216_PM16	(0x20002L)
-#define VOS_OS232_PM32	(0x30003L)
-#define VOS_NT_WINDOWS32	(0x40004L)
-#define VFT_UNKNOWN	(0L)
-#define VFT_APP	(0x1L)
-#define VFT_DLL	(0x2L)
-#define VFT_DRV	(0x3L)
-#define VFT_FONT	(0x4L)
-#define VFT_VXD	(0x5L)
-#define VFT_STATIC_LIB	(0x7L)
-#define VFT2_UNKNOWN	(0L)
-#define VFT2_DRV_PRINTER	(0x1L)
-#define VFT2_DRV_KEYBOARD	(0x2L)
-#define VFT2_DRV_LANGUAGE	(0x3L)
-#define VFT2_DRV_DISPLAY	(0x4L)
-#define VFT2_DRV_MOUSE	(0x5L)
-#define VFT2_DRV_NETWORK	(0x6L)
-#define VFT2_DRV_SYSTEM	(0x7L)
-#define VFT2_DRV_INSTALLABLE	(0x8L)
-#define VFT2_DRV_SOUND	(0x9L)
-#define VFT2_FONT_RASTER	(0x1L)
-#define VFT2_FONT_VECTOR	(0x2L)
-#define VFT2_FONT_TRUETYPE	(0x3L)
-
-/* PANOSE structure */
-#define PAN_ANY	(0)
-#define PAN_NO_FIT	(1)
-#define PAN_FAMILY_TEXT_DISPLAY	(2)
-#define PAN_FAMILY_SCRIPT	(3)
-#define PAN_FAMILY_DECORATIVE	(4)
-#define PAN_FAMILY_PICTORIAL	(5)
-#define PAN_SERIF_COVE	(2)
-#define PAN_SERIF_OBTUSE_COVE	(3)
-#define PAN_SERIF_SQUARE_COVE	(4)
-#define PAN_SERIF_OBTUSE_SQUARE_COVE	(5)
-#define PAN_SERIF_SQUARE	(6)
-#define PAN_SERIF_THIN	(7)
-#define PAN_SERIF_BONE	(8)
-#define PAN_SERIF_EXAGGERATED	(9)
-#define PAN_SERIF_TRIANGLE	(10)
-#define PAN_SERIF_NORMAL_SANS	(11)
-#define PAN_SERIF_OBTUSE_SANS	(12)
-#define PAN_SERIF_PERP_SANS	(13)
-#define PAN_SERIF_FLARED	(14)
-#define PAN_SERIF_ROUNDED	(15)
-#define PAN_WEIGHT_VERY_LIGHT	(2)
-#define PAN_WEIGHT_LIGHT	(3)
-#define PAN_WEIGHT_THIN	(4)
-#define PAN_WEIGHT_BOOK	(5)
-#define PAN_WEIGHT_MEDIUM	(6)
-#define PAN_WEIGHT_DEMI	(7)
-#define PAN_WEIGHT_BOLD	(8)
-#define PAN_WEIGHT_HEAVY	(9)
-#define PAN_WEIGHT_BLACK	(10)
-#define PAN_WEIGHT_NORD	(11)
-#define PAN_PROP_OLD_STYLE	(2)
-#define PAN_PROP_MODERN	(3)
-#define PAN_PROP_EVEN_WIDTH	(4)
-#define PAN_PROP_EXPANDED	(5)
-#define PAN_PROP_CONDENSED	(6)
-#define PAN_PROP_VERY_EXPANDED	(7)
-#define PAN_PROP_VERY_CONDENSED	(8)
-#define PAN_PROP_MONOSPACED	(9)
-#define PAN_CONTRAST_NONE	(2)
-#define PAN_CONTRAST_VERY_LOW	(3)
-#define PAN_CONTRAST_LOW	(4)
-#define PAN_CONTRAST_MEDIUM_LOW	(5)
-#define PAN_CONTRAST_MEDIUM	(6)
-#define PAN_CONTRAST_MEDIUM_HIGH	(7)
-#define PAN_CONTRAST_HIGH	(8)
-#define PAN_CONTRAST_VERY_HIGH	(9)
-#define PAN_STROKE_GRADUAL_DIAG	(2)
-#define PAN_STROKE_GRADUAL_TRAN	(3)
-#define PAN_STROKE_GRADUAL_VERT	(4)
-#define PAN_STROKE_GRADUAL_HORZ	(5)
-#define PAN_STROKE_RAPID_VERT	(6)
-#define PAN_STROKE_RAPID_HORZ	(7)
-#define PAN_STROKE_INSTANT_VERT	(8)
-#define PAN_STRAIGHT_ARMS_HORZ	(2)
-#define PAN_STRAIGHT_ARMS_WEDGE	(3)
-#define PAN_STRAIGHT_ARMS_VERT	(4)
-#define PAN_STRAIGHT_ARMS_SINGLE_SERIF	(5)
-#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF	(6)
-#define PAN_BENT_ARMS_HORZ	(7)
-#define PAN_BENT_ARMS_VERT	(9)
-#define PAN_BENT_ARMS_WEDGE	(8)
-#define PAN_BENT_ARMS_SINGLE_SERIF	(10)
-#define PAN_BENT_ARMS_DOUBLE_SERIF	(11)
-#define PAN_LETT_NORMAL_CONTACT	(2)
-#define PAN_LETT_NORMAL_WEIGHTED	(3)
-#define PAN_LETT_NORMAL_BOXED	(4)
-#define PAN_LETT_NORMAL_FLATTENED	(5)
-#define PAN_LETT_NORMAL_ROUNDED	(6)
-#define PAN_LETT_NORMAL_OFF_CENTER	(7)
-#define PAN_LETT_NORMAL_SQUARE	(8)
-#define PAN_LETT_OBLIQUE_CONTACT	(9)
-#define PAN_LETT_OBLIQUE_WEIGHTED	(10)
-#define PAN_LETT_OBLIQUE_BOXED	(11)
-#define PAN_LETT_OBLIQUE_FLATTENED	(12)
-#define PAN_LETT_OBLIQUE_ROUNDED	(13)
-#define PAN_LETT_OBLIQUE_OFF_CENTER	(14)
-#define PAN_LETT_OBLIQUE_SQUARE	(15)
-#define PAN_MIDLINE_STANDARD_TRIMMED	(2)
-#define PAN_MIDLINE_STANDARD_POINTED	(3)
-#define PAN_MIDLINE_STANDARD_SERIFED	(4)
-#define PAN_MIDLINE_HIGH_TRIMMED	(5)
-#define PAN_MIDLINE_HIGH_POINTED	(6)
-#define PAN_MIDLINE_HIGH_SERIFED	(7)
-#define PAN_MIDLINE_CONSTANT_TRIMMED	(8)
-#define PAN_MIDLINE_CONSTANT_POINTED	(9)
-#define PAN_MIDLINE_CONSTANT_SERIFED	(10)
-#define PAN_MIDLINE_LOW_TRIMMED	(11)
-#define PAN_MIDLINE_LOW_POINTED	(12)
-#define PAN_MIDLINE_LOW_SERIFED	(13)
-#define PAN_XHEIGHT_CONSTANT_SMALL	(2)
-#define PAN_XHEIGHT_CONSTANT_STD	(3)
-#define PAN_XHEIGHT_CONSTANT_LARGE	(4)
-#define PAN_XHEIGHT_DUCKING_SMALL	(5)
-#define PAN_XHEIGHT_DUCKING_STD	(6)
-#define PAN_XHEIGHT_DUCKING_LARGE	(7)
-
-/* PALETTENTRY structure */
-#define PC_EXPLICIT	(2)
-#define PC_NOCOLLAPSE	(4)
-#define PC_RESERVED	(1)
-
-/* LOGBRUSH structure */
-#define BS_DIBPATTERN	(5)
-#define BS_DIBPATTERN8X8	(8)
-#define BS_DIBPATTERNPT	(6)
-#define BS_HATCHED	(2)
-#define BS_HOLLOW	(1)
-#define BS_NULL	(1)
-#define BS_PATTERN	(3)
-#define BS_PATTERN8X8	(7)
-#define BS_SOLID	(0)
-
-/* DEVMODE structure */
-#define DM_ORIENTATION	(0x1L)
-#define DM_PAPERSIZE	(0x2L)
-#define DM_PAPERLENGTH	(0x4L)
-#define DM_PAPERWIDTH	(0x8L)
-#define DM_SCALE	(0x10L)
-#define DM_COPIES	(0x100L)
-#define DM_DEFAULTSOURCE	(0x200L)
-#define DM_PRINTQUALITY	(0x400L)
-#define DM_COLOR	(0x800L)
-#define DM_DUPLEX	(0x1000L)
-#define DM_YRESOLUTION	(0x2000L)
-#define DM_TTOPTION	(0x4000L)
-#define DM_COLLATE	(0x8000L)
-#define DM_FORMNAME	(0x10000L)
-#define DM_LOGPIXELS	(0x20000L)
-#define DM_BITSPERPEL	(0x40000L)
-#define DM_PELSWIDTH	(0x80000L)
-#define DM_PELSHEIGHT	(0x100000L)
-#define DM_DISPLAYFLAGS	(0x200000L)
-#define DM_DISPLAYFREQUENCY	(0x400000L)
-#define DM_ICMMETHOD	(0x800000L)
-#define DM_ICMINTENT	(0x1000000L)
-#define DM_MEDIATYPE	(0x2000000L)
-#define DM_DITHERTYPE	(0x4000000L)
-#define DMORIENT_LANDSCAPE	(2)
-#define DMORIENT_PORTRAIT	(1)
-#define DMPAPER_LETTER	(1)
-#define DMPAPER_LEGAL	(5)
-#define DMPAPER_A4	(9)
-#define DMPAPER_CSHEET	(24)
-#define DMPAPER_DSHEET	(25)
-#define DMPAPER_ESHEET	(26)
-#define DMPAPER_LETTERSMALL	(2)
-#define DMPAPER_TABLOID	(3)
-#define DMPAPER_LEDGER	(4)
-#define DMPAPER_STATEMENT	(6)
-#define DMPAPER_EXECUTIVE	(7)
-#define DMPAPER_A3	(8)
-#define DMPAPER_A4SMALL	(10)
-#define DMPAPER_A5	(11)
-#define DMPAPER_B4	(12)
-#define DMPAPER_B5	(13)
-#define DMPAPER_FOLIO	(14)
-#define DMPAPER_QUARTO	(15)
-#define DMPAPER_10X14	(16)
-#define DMPAPER_11X17	(17)
-#define DMPAPER_NOTE	(18)
-#define DMPAPER_ENV_9	(19)
-#define DMPAPER_ENV_10	(20)
-#define DMPAPER_ENV_11	(21)
-#define DMPAPER_ENV_12	(22)
-#define DMPAPER_ENV_14	(23)
-#define DMPAPER_ENV_DL	(27)
-#define DMPAPER_ENV_C5	(28)
-#define DMPAPER_ENV_C3	(29)
-#define DMPAPER_ENV_C4	(30)
-#define DMPAPER_ENV_C6	(31)
-#define DMPAPER_ENV_C65	(32)
-#define DMPAPER_ENV_B4	(33)
-#define DMPAPER_ENV_B5	(34)
-#define DMPAPER_ENV_B6	(35)
-#define DMPAPER_ENV_ITALY	(36)
-#define DMPAPER_ENV_MONARCH	(37)
-#define DMPAPER_ENV_PERSONAL	(38)
-#define DMPAPER_FANFOLD_US	(39)
-#define DMPAPER_FANFOLD_STD_GERMAN	(40)
-#define DMPAPER_FANFOLD_LGL_GERMAN	(41)
-#define DMRES_HIGH	(-4)
-#define DMRES_MEDIUM	(-3)
-#define DMRES_LOW	(-2)
-#define DMRES_DRAFT	(-1)
-#define DMCOLOR_COLOR	(2)
-#define DMCOLOR_MONOCHROME	(1)
-#define DMDUP_SIMPLEX	(1)
-#define DMDUP_HORIZONTAL	(3)
-#define DMDUP_VERTICAL	(2)
-#define DMTT_BITMAP	(1)
-#define DMTT_DOWNLOAD	(2)
-#define DMTT_SUBDEV	(3)
-#define DMCOLLATE_TRUE	(1)
-#define DMCOLLATE_FALSE	(0)
-#define DM_GRAYSCALE	(1)
-#define DM_INTERLACED	(2)
-#define DMICMMETHOD_NONE	(1)
-#define DMICMMETHOD_SYSTEM	(2)
-#define DMICMMETHOD_DRIVER	(3)
-#define DMICMMETHOD_DEVICE	(4)
-#define DMICMMETHOD_USER	(256)
-#define DMICM_SATURATE	(1)
-#define DMICM_CONTRAST	(2)
-#define DMICM_COLORMETRIC	(3)
-#define DMICM_USER	(256)
-#define DMMEDIA_STANDARD	(1)
-#define DMMEDIA_GLOSSY	(3)
-#define DMMEDIA_TRANSPARENCY	(2)
-#define DMMEDIA_USER	(256)
-#define DMDITHER_NONE	(1)
-#define DMDITHER_COARSE	(2)
-#define DMDITHER_FINE	(3)
-#define DMDITHER_LINEART	(4)
-#define DMDITHER_GRAYSCALE	(10)
-#define DMDITHER_USER	(256)
-
-/* RGNDATAHEADER structure */
-#define RDH_RECTANGLES	(1)
-
-/* TTPOLYGONHEADER structure */
-#define TT_POLYGON_TYPE	(24)
-
-/* TTPOLYCURVE structure */
-#define TT_PRIM_LINE	(1)
-#define TT_PRIM_QSPLINE	(2)
-
-/* GCP_RESULTS structure */
-#define GCPCLASS_ARABIC	(2)
-#define GCPCLASS_HEBREW	(2)
-#define GCPCLASS_LATIN	(1)
-#define GCPCLASS_LATINNUMBER	(5)
-#define GCPCLASS_LOCALNUMBER	(4)
-#define GCPCLASS_LATINNUMERICSEPARATOR	(7)
-#define GCPCLASS_LATINNUMERICTERMINATOR	(6)
-#define GCPCLASS_NEUTRAL	(3)
-#define GCPCLASS_NUMERICSEPARATOR	(8)
-#define GCPCLASS_PREBOUNDLTR	(128)
-#define GCPCLASS_PREBOUNDRTL	(64)
-#define GCPCLASS_POSTBOUNDLTR	(32)
-#define GCPCLASS_POSTBOUNDRTL	(16)
-#define GCPGLYPH_LINKBEFORE	(32768)
-#define GCPGLYPH_LINKAFTER	(16384)
-
-/* RASTERIZER_STATUS structure */
-#define TT_AVAILABLE	(1)
-#define TT_ENABLED	(2)
-
-/* COLORADJUSTMENT structure */
-#define CA_NEGATIVE	(1)
-#define CA_LOG_FILTER	(2)
-#define ILLUMINANT_DEVICE_DEFAULT	(0)
-#define ILLUMINANT_A	(1)
-#define ILLUMINANT_B	(2)
-#define ILLUMINANT_C	(3)
-#define ILLUMINANT_D50	(4)
-#define ILLUMINANT_D55	(5)
-#define ILLUMINANT_D65	(6)
-#define ILLUMINANT_D75	(7)
-#define ILLUMINANT_F2	(8)
-#define ILLUMINANT_TUNGSTEN	(1)
-#define ILLUMINANT_DAYLIGHT	(3)
-#define ILLUMINANT_FLUORESCENT	(8)
-#define ILLUMINANT_NTSC	(3)
-
-/* DOCINFO structure */
-#define DI_APPBANDING	(1)
-
-/* EMRMETAHEADER structure */
-#define EMR_HEADER	(1)
-#define ENHMETA_SIGNATURE	(1179469088)
-
-/* RTF event masks */
-#define ENM_CHANGE	(1)
-#define ENM_CORRECTTEXT	(4194304)
-#define ENM_DROPFILES	(1048576)
-#define ENM_KEYEVENTS	(65536)
-#define ENM_MOUSEEVENTS	(131072)
-#define ENM_PROTECTED	(2097152)
-#define ENM_REQUESTRESIZE	(262144)
-#define ENM_SCROLL	(4)
-#define ENM_SELCHANGE	(524288)
-#define ENM_UPDATE	(2)
-#define ENM_NONE	(0)
-
-/* RTF styles */
-#define ES_DISABLENOSCROLL	(8192)
-#define ES_EX_NOCALLOLEINIT	(16777216)
-#define ES_NOIME	(524288)
-#define ES_SAVESEL	(32768)
-#define ES_SELFIME	(262144)
-#define ES_SUNKEN	(16384)
-#define ES_VERTICAL	(4194304)
-#define ES_SELECTIONBAR	(16777216)
-
-/* EM_SETOPTIONS message */
-#define ECOOP_SET	(1)
-#define ECOOP_OR	(2)
-#define ECOOP_AND	(3)
-#define ECOOP_XOR	(4)
-#define ECO_AUTOWORDSELECTION	(1)
-#define ECO_AUTOVSCROLL	(64)
-#define ECO_AUTOHSCROLL	(128)
-#define ECO_NOHIDESEL	(256)
-#define ECO_READONLY	(2048)
-#define ECO_WANTRETURN	(4096)
-#define ECO_SAVESEL	(32768)
-#define ECO_SELECTIONBAR	(16777216)
-#define ECO_VERTICAL	(4194304)
-
-/* EM_SETCHARFORMAT message */
-#define SCF_WORD	(2)
-#define SCF_SELECTION	(1)
-
-/* EM_STREAMOUT message */
-#define SF_TEXT	(1)
-#define SF_RTF	(2)
-#define SF_RTFNOOBJS	(3)
-#define SF_TEXTIZED	(4)
-#define SFF_SELECTION	(32768)
-#define SFF_PLAINRTF	(16384)
-
-/* EM_FINDWORDBREAK message */
-#define WB_CLASSIFY	(3)
-#define WB_ISDELIMITER	(2)
-#define WB_LEFT	(0)
-#define WB_LEFTBREAK	(6)
-#define WB_PREVBREAK	(6)
-#define WB_MOVEWORDLEFT	(4)
-#define WB_MOVEWORDPREV	(4)
-#define WB_MOVEWORDRIGHT	(5)
-#define WB_MOVEWORDNEXT	(5)
-#define WB_RIGHT	(1)
-#define WB_RIGHTBREAK	(7)
-#define WB_NEXTBREAK	(7)
-
-/* EM_GETPUNCTUATION message */
-#define PC_LEADING	(2)
-#define PC_FOLLOWING	(1)
-#define PC_DELIMITER	(4)
-#define PC_OVERFLOW	(3)
-
-/* EM_SETWORDWRAPMODE message */
-#define WBF_WORDWRAP	(16)
-#define WBF_WORDBREAK	(32)
-#define WBF_OVERFLOW	(64)
-#define WBF_LEVEL1	(128)
-#define WBF_LEVEL2	(256)
-#define WBF_CUSTOM	(512)
-#define WBF_BREAKAFTER	(64)
-#define WBF_BREAKLINE	(32)
-#define WBF_ISWHITE	(16)
-
-/* CHARFORMAT structure */
-#define CFM_BOLD	(1)
-#define CFM_COLOR	(1073741824)
-#define CFM_FACE	(536870912)
-#define CFM_ITALIC	(2)
-#define CFM_OFFSET	(268435456)
-#define CFM_PROTECTED	(16)
-#define CFM_SIZE	(0x80000000)
-#define CFM_STRIKEOUT	(8)
-#define CFM_UNDERLINE	(4)
-#define CFE_AUTOCOLOR	(1073741824)
-#define CFE_BOLD	(1)
-#define CFE_ITALIC	(2)
-#define CFE_STRIKEOUT	(8)
-#define CFE_UNDERLINE	(4)
-#define CFE_PROTECTED	(16)
-
-/* PARAFORMAT structure */
-#define PFM_ALIGNMENT	(8)
-#define PFM_NUMBERING	(32)
-#define PFM_OFFSET	(4)
-#define PFM_OFFSETINDENT	(0x80000000)
-#define PFM_RIGHTINDENT	(2)
-#define PFM_STARTINDENT	(1)
-#define PFM_TABSTOPS	(16)
-#define PFN_BULLET	(1)
-#define PFA_LEFT	(1)
-#define PFA_RIGHT	(2)
-#define PFA_CENTER	(3)
-
-/* SELCHANGE structure */
-#define SEL_EMPTY	(0)
-#define SEL_TEXT	(1)
-#define SEL_OBJECT	(2)
-#define SEL_MULTICHAR	(4)
-#define SEL_MULTIOBJECT	(8)
-
-/* RTF clipboard formats */
-#define CF_RTF	"Rich Text Format"
-#define CF_RETEXTOBJ	"RichEdit Text and Objects"
-
-/* DRAWITEMSTRUCT structure */
-#define ODT_BUTTON	(4)
-#define ODT_COMBOBOX	(3)
-#define ODT_LISTBOX	(2)
-#define ODT_LISTVIEW	(102)
-#define ODT_MENU	(1)
-#define ODT_STATIC	(5)
-#define ODT_TAB		(101)
-#define ODT_HEADER	(100)
-#define ODA_DRAWENTIRE	(1)
-#define ODA_FOCUS	(4)
-#define ODA_SELECT	(2)
-#define ODS_CHECKED	(8)
-#define ODS_COMBOBOXEDIT	(4096)
-#define ODS_DEFAULT	(32)
-#define ODS_DISABLED	(4)
-#define ODS_FOCUS	(16)
-#define ODS_GRAYED	(2)
-#define ODS_SELECTED	(1)
-
-/* Common control window classes */
-#define ANIMATE_CLASSW	L"SysAnimate32"
-#define HOTKEY_CLASSW	L"msctls_hotkey32"
-#define PROGRESS_CLASSW	L"msctls_progress32"
-#define STATUSCLASSNAMEW	L"msctls_statusbar32"
-#define TOOLBARCLASSNAMEW	L"ToolbarWindow32"
-#define TOOLTIPS_CLASSW	L"tooltips_class32"
-#define TRACKBAR_CLASSW	L"msctls_trackbar32"
-#define UPDOWN_CLASSW	L"msctls_updown32"
-#define WC_HEADERW	L"SysHeader32"
-#define WC_LISTVIEWW	L"SysListView32"
-#define WC_TABCONTROLW	L"SysTabControl32"
-#define WC_TREEVIEWW	L"SysTreeView32"
-
-/* Common control styles */
-#define CCS_ADJUSTABLE	(0x20L)
-#define CCS_BOTTOM	(0x3L)
-#define CCS_NODIVIDER	(0x40L)
-#define CCS_NOMOVEY	(0x2L)
-#define CCS_NOPARENTALIGN	(0x8L)
-#define CCS_NORESIZE	(0x4L)
-#define CCS_TOP	(0x1L)
-#define ANIMATE_CLASSA	"SysAnimate32"
-#define HOTKEY_CLASSA	"msctls_hotkey32"
-#define PROGRESS_CLASSA	"msctls_progress32"
-#define STATUSCLASSNAMEA	"msctls_statusbar32"
-#define TOOLBARCLASSNAMEA	"ToolbarWindow32"
-#define TOOLTIPS_CLASSA	"tooltips_class32"
-#define TRACKBAR_CLASSA	"msctls_trackbar32"
-#define UPDOWN_CLASSA	"msctls_updown32"
-#define WC_HEADERA	"SysHeader32"
-#define WC_LISTVIEWA	"SysListView32"
-#define WC_TABCONTROLA	"SysTabControl32"
-#define WC_TREEVIEWA	"SysTreeView32"
-#ifdef UNICODE
-#define ANIMATE_CLASS ANIMATE_CLASSW
-#define HOTKEY_CLASS HOTKEY_CLASSW
-#define PROGRESS_CLASS PROGRESS_CLASSW
-#define STATUSCLASSNAME STATUSCLASSNAMEW
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEW
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSW
-#define TRACKBAR_CLASS TRACKBAR_CLASSW
-#define UPDOWN_CLASS UPDOWN_CLASSW
-#define WC_HEADER WC_HEADERW
-#define WC_LISTVIEW WC_LISTVIEWW
-#define WC_TABCONTROL WC_TABCONTROLW
-#define WC_TREEVIEW WC_TREEVIEWW
-#else
-#define ANIMATE_CLASS ANIMATE_CLASSA
-#define HOTKEY_CLASS HOTKEY_CLASSA
-#define PROGRESS_CLASS PROGRESS_CLASSA
-#define STATUSCLASSNAME STATUSCLASSNAMEA
-#define TOOLBARCLASSNAME TOOLBARCLASSNAMEA
-#define TOOLTIPS_CLASS TOOLTIPS_CLASSA
-#define TRACKBAR_CLASS TRACKBAR_CLASSA
-#define UPDOWN_CLASS UPDOWN_CLASSA
-#define WC_HEADER WC_HEADERA
-#define WC_LISTVIEW WC_LISTVIEWA
-#define WC_TABCONTROL WC_TABCONTROLA
-#define WC_TREEVIEW WC_TREEVIEWA
-#endif /* UNICODE */
-
-/* Header control styles */
-#define HDS_BUTTONS	(2)
-#define HDS_HIDDEN	(8)
-#define HDS_HORZ	(0)
-
-/* HD_ITEM structure */
-#define HDI_BITMAP	(16)
-#define HDI_FORMAT	(4)
-#define HDI_HEIGHT	(1)
-#define HDI_LPARAM	(8)
-#define HDI_TEXT	(2)
-#define HDI_WIDTH	(1)
-#define HDF_CENTER	(2)
-#define HDF_LEFT	(0)
-#define HDF_RIGHT	(1)
-#define HDF_RTLREADING	(4)
-#define HDF_BITMAP	(8192)
-#define HDF_OWNERDRAW	(32768)
-#define HDF_STRING	(16384)
-#define HDF_JUSTIFYMASK	(3)
-
-/* HD_HITTESTINFO structure */
-#define HHT_NOWHERE	(1)
-#define HHT_ONDIVIDER	(4)
-#define HHT_ONDIVOPEN	(8)
-#define HHT_ONHEADER	(2)
-#define HHT_TOLEFT	(2048)
-#define HHT_TORIGHT	(1024)
-
-/* TBADDBITMAP structure */
-#define HINST_COMMCTRL	((HINSTANCE)-1)
-#define IDB_STD_LARGE_COLOR	(1)
-#define IDB_STD_SMALL_COLOR	(0)
-#define IDB_VIEW_LARGE_COLOR	(5)
-#define IDB_VIEW_SMALL_COLOR	(4)
-#define STD_COPY	(1)
-#define STD_CUT	(0)
-#define STD_DELETE	(5)
-#define STD_FILENEW	(6)
-#define STD_FILEOPEN	(7)
-#define STD_FILESAVE	(8)
-#define STD_FIND	(12)
-#define STD_HELP	(11)
-#define STD_PASTE	(2)
-#define STD_PRINT	(14)
-#define STD_PRINTPRE	(9)
-#define STD_PROPERTIES	(10)
-#define STD_REDOW	(4)
-#define STD_REPLACE	(13)
-#define STD_UNDO	(3)
-#define VIEW_LARGEICONS	(0)
-#define VIEW_SMALLICONS	(1)
-#define VIEW_LIST	(2)
-#define VIEW_DETAILS	(3)
-#define VIEW_SORTNAME	(4)
-#define VIEW_SORTSIZE	(5)
-#define VIEW_SORTDATE	(6)
-#define VIEW_SORTTYPE	(7)
-
-/* Toolbar styles */
-#define TBSTYLE_ALTDRAG	(1024)
-#define TBSTYLE_TOOLTIPS	(256)
-#define TBSTYLE_WRAPABLE	(512)
-#define TBSTYLE_BUTTON	(0)
-#define TBSTYLE_CHECK	(2)
-#define TBSTYLE_CHECKGROUP	(6)
-#define TBSTYLE_GROUP	(4)
-#define TBSTYLE_SEP	(1)
-
-/* Toolbar states */
-#define TBSTATE_CHECKED	(1)
-#define TBSTATE_ENABLED	(4)
-#define TBSTATE_HIDDEN	(8)
-#define TBSTATE_INDETERMINATE	(16)
-#define TBSTATE_PRESSED	(2)
-#define TBSTATE_WRAP	(32)
-
-/* Tooltip styles */
-#define TTS_ALWAYSTIP	(1)
-#define TTS_NOPREFIX	(2)
-
-/* TOOLINFO structure */
-#define TTF_IDISHWND	(1)
-#define TTF_CENTERTIP	(2)
-#define TTF_RTLREADING	(4)
-#define TTF_SUBCLASS	(16)
-
-/* TTM_SETDELAYTIME message */
-#define TTDT_AUTOMATIC	(0)
-#define TTDT_AUTOPOP	(2)
-#define TTDT_INITIAL	(3)
-#define TTDT_RESHOW	(1)
-
-/* Status window */
-#define SBARS_SIZEGRIP	(256)
-#define SBARS_SIZEGRIP	(256)
-
-/* DL_DRAGGING message */
-#define DL_MOVECURSOR	(3)
-#define DL_COPYCURSOR	(2)
-#define DL_STOPCURSOR	(1)
-
-/* Up-down control styles */
-#define UDS_ALIGNLEFT	(8)
-#define UDS_ALIGNRIGHT	(4)
-#define UDS_ARROWKEYS	(32)
-#define UDS_AUTOBUDDY	(16)
-#define UDS_HORZ	(64)
-#define UDS_NOTHOUSANDS	(128)
-#define UDS_SETBUDDYINT	(2)
-#define UDS_WRAP	(1)
-
-/* UDM_SETRANGE message */
-#define UD_MAXVAL	(32767)
-#define UD_MINVAL	(-32767)
-
-/* HKM_GETHOTKEY message */
-#define HOTKEYF_ALT	(4)
-#define HOTKEYF_CONTROL	(2)
-#define HOTKEYF_EXT	(8)
-#define HOTKEYF_SHIFT	(1)
-
-/* HKM_SETRULES message */
-#define HKCOMB_A	(8)
-#define HKCOMB_C	(4)
-#define HKCOMB_CA	(64)
-#define HKCOMB_NONE	(1)
-#define HKCOMB_S	(2)
-#define HKCOMB_SA	(32)
-#define HKCOMB_SC	(16)
-#define HKCOMB_SCA	(128)
-
-/* Trackbar styles */
-#define TBS_HORZ	(0)
-#define TBS_VERT	(2)
-#define TBS_AUTOTICKS	(1)
-#define TBS_NOTICKS	(16)
-#define TBS_TOP	(4)
-#define TBS_BOTTOM	(0)
-#define TBS_LEFT	(4)
-#define TBS_RIGHT	(0)
-#define TBS_BOTH	(8)
-#define TBS_ENABLESELRANGE	(32)
-#define TBS_FIXEDLENGTH	(64)
-#define TBS_NOTHUMB	(128)
-#define TB_BOTTOM	(7)
-#define TB_ENDTRACK	(8)
-#define TB_LINEDOWN	(1)
-#define TB_LINEUP	(0)
-#define TB_PAGEDOWN	(3)
-#define TB_PAGEUP	(2)
-#define TB_THUMBPOSITION	(4)
-#define TB_THUMBTRACK	(5)
-#define TB_TOP	(6)
-
-/* List view styles */
-#define LVS_ALIGNLEFT	(2048)
-#define LVS_ALIGNTOP	(0)
-#define LVS_AUTOARRANGE	(256)
-#define LVS_EDITLABELS	(512)
-#define LVS_ICON	(0)
-#define LVS_LIST	(3)
-#define LVS_NOCOLUMNHEADER	(16384)
-#define LVS_NOLABELWRAP	(128)
-#define LVS_NOSCROLL	(8192)
-#define LVS_NOSORTHEADER	(32768)
-#define LVS_OWNERDRAWFIXED	(1024)
-#define LVS_REPORT	(1)
-#define LVS_SHAREIMAGELISTS	(64)
-#define LVS_SHOWSELALWAYS	(8)
-#define LVS_SINGLESEL	(4)
-#define LVS_SMALLICON	(2)
-#define LVS_SORTASCENDING	(16)
-#define LVS_SORTDESCENDING	(32)
-#define LVS_TYPESTYLEMASK	(64512)
-#define LVSIL_NORMAL	(0)
-#define LVSIL_SMALL	(1)
-#define LVSIL_STATE	(2)
-#define LVIS_CUT	(4)
-#define LVIS_DROPHILITED	(8)
-#define LVIS_FOCUSED	(1)
-#define LVIS_SELECTED	(2)
-#define LVIS_OVERLAYMASK	(3840)
-#define LVIS_STATEIMAGEMASK	(61440)
-#define LPSTR_TEXTCALLBACKW	((LPWSTR)-1L)
-#define LPSTR_TEXTCALLBACKA	(LPSTR)-1L)
-#ifdef UNICODE
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKW
-#else
-#define LPSTR_TEXTCALLBACK LPSTR_TEXTCALLBACKA
-#endif /* UNICODE */
-
-/* LV_ITEM structure */
-#define LVIF_TEXT	(1)
-#define LVIF_IMAGE	(2)
-#define LVIF_PARAM	(4)
-#define LVIF_STATE	(8)
-#define LVIF_DI_SETITEM	(4096)
-
-/* LVM_GETNEXTITEM structure */
-#define LVNI_ABOVE	(256)
-#define LVNI_ALL	(0)
-#define LVNI_BELOW	(512)
-#define LVNI_TOLEFT	(1024)
-#define LVNI_TORIGHT	(2048)
-#define LVNI_CUT	(4)
-#define LVNI_DROPHILITED	(8)
-#define LVNI_FOCUSED	(1)
-#define LVNI_SELECTED	(2)
-
-/* LV_FINDINFO structure */
-#define LVFI_PARAM	(1)
-#define LVFI_PARTIAL	(8)
-#define LVFI_STRING	(2)
-#define LVFI_WRAP	(32)
-#define LVFI_NEARESTXY	(64)
-
-/* LV_HITTESTINFO structure */
-#define LVHT_ABOVE	(8)
-#define LVHT_BELOW	(16)
-#define LVHT_NOWHERE	(1)
-#define LVHT_ONITEMICON	(2)
-#define LVHT_ONITEMLABEL	(4)
-#define LVHT_ONITEMSTATEICON	(8)
-#define LVHT_TOLEFT	(64)
-#define LVHT_TORIGHT	(32)
-
-/* LV_COLUMN structure */
-#define LVCF_FMT	(1)
-#define LVCF_SUBITEM	(8)
-#define LVCF_TEXT	(4)
-#define LVCF_WIDTH	(2)
-#define LVCFMT_CENTER	(2)
-#define LVCFMT_LEFT	(0)
-#define LVCFMT_RIGHT	(1)
-
-/* ListView_GetItemRect */
-#define LVIR_BOUNDS	(0)
-#define LVIR_ICON	(1)
-#define LVIR_LABEL	(2)
-#define LVIR_SELECTBOUNDS	(3)
-
-/* LVM_ARRANGE message */
-#define LVA_ALIGNLEFT	(1)
-#define LVA_ALIGNTOP	(2)
-#define LVA_DEFAULT	(0)
-#define LVA_SNAPTOGRID	(5)
-
-/* LVM_SETCOLUMNWIDTH message */
-#define LVSCW_AUTOSIZE	(-1)
-#define LVSCW_AUTOSIZE_USEHEADER	(-2)
-
-/* Tree View styles */
-#define TVS_DISABLEDRAGDROP	(16)
-#define TVS_EDITLABELS	(8)
-#define TVS_HASBUTTONS	(1)
-#define TVS_HASLINES	(2)
-#define TVS_LINESATROOT	(4)
-#define TVS_SHOWSELALWAYS	(32)
-
-/* Tree View states */
-#define TVIS_BOLD	(16)
-#define TVIS_CUT	(4)
-#define TVIS_DROPHILITED	(8)
-#define TVIS_EXPANDED	(32)
-#define TVIS_EXPANDEDONCE	(64)
-#define TVIS_FOCUSED	(1)
-#define TVIS_OVERLAYMASK	(3840)
-#define TVIS_SELECTED	(2)
-#define TVIS_STATEIMAGEMASK	(61440)
-#define TVIS_USERMASK	(61440)
-
-/* TV_ITEM structure */
-#define TVIF_CHILDREN	(64)
-#define TVIF_HANDLE	(16)
-#define TVIF_IMAGE	(2)
-#define TVIF_PARAM	(4)
-#define TVIF_SELECTEDIMAGE	(32)
-#define TVIF_STATE	(8)
-#define TVIF_TEXT	(1)
-#define I_CHILDRENCALLBACK	(-1)
-#define I_IMAGECALLBACK	(-1)
-
-/* TV_INSERTSTRUCT structure */
-#define TVI_ROOT	((HTREEITEM)0xFFFF0000)
-#define TVI_FIRST	((HTREEITEM)0xFFFF0001)
-#define TVI_LAST	((HTREEITEM)0xFFFF0002)
-#define TVI_SORT	((HTREEITEM)0xFFFF0003)
-
-/* TV_HITTESTINFO structure */
-#define TVHT_ABOVE	(256)
-#define TVHT_BELOW	(512)
-#define TVHT_NOWHERE	(1)
-#define TVHT_ONITEM	(70)
-#define TVHT_ONITEMBUTTON	(16)
-#define TVHT_ONITEMICON	(2)
-#define TVHT_ONITEMINDENT	(8)
-#define TVHT_ONITEMLABEL	(4)
-#define TVHT_ONITEMRIGHT	(32)
-#define TVHT_ONITEMSTATEICON	(64)
-#define TVHT_TOLEFT	(2048)
-#define TVHT_TORIGHT	(1024)
-
-/* TVM_EXPAND message */
-#define TVE_COLLAPSE	(1)
-#define TVE_COLLAPSERESET	(32768)
-#define TVE_EXPAND	(2)
-#define TVE_TOGGLE	(3)
-
-/* TVM_GETIMAGELIST message */
-#define TVSIL_NORMAL	(0)
-#define TVSIL_STATE	(2)
-
-/* TVM_GETNEXTITEM message */
-#define TVGN_CARET	(9)
-#define TVGN_CHILD	(4)
-#define TVGN_DROPHILITE	(8)
-#define TVGN_FIRSTVISIBLE	(5)
-#define TVGN_NEXT	(1)
-#define TVGN_NEXTVISIBLE	(6)
-#define TVGN_PARENT	(3)
-#define TVGN_PREVIOUS	(2)
-#define TVGN_PREVIOUSVISIBLE	(7)
-#define TVGN_ROOT	(0)
-
-/* TVN_SELCHANGED message */
-#define TVC_BYKEYBOARD	(2)
-#define TVC_BYMOUSE	(1)
-#define TVC_UNKNOWN	(0)
-
-/* Tab control styles */
-#define TCS_BUTTONS	(256)
-#define TCS_FIXEDWIDTH	(1024)
-#define TCS_FOCUSNEVER	(32768)
-#define TCS_FOCUSONBUTTONDOWN	(4096)
-#define TCS_FORCEICONLEFT	(16)
-#define TCS_FORCELABELLEFT	(32)
-#define TCS_MULTILINE	(512)
-#define TCS_OWNERDRAWFIXED	(8192)
-#define TCS_RAGGEDRIGHT	(2048)
-#define TCS_RIGHTJUSTIFY	(0)
-#define TCS_SINGLELINE	(0)
-#define TCS_TABS	(0)
-#define TCS_TOOLTIPS	(16384)
-
-/* TC_ITEM structure */
-#define TCIF_TEXT	(1)
-#define TCIF_IMAGE	(2)
-#define TCIF_PARAM	(8)
-#define TCIF_RTLREADING	(4)
-
-/* TC_HITTESTINFO structure */
-#define TCHT_NOWHERE	(1)
-#define TCHT_ONITEM	(6)
-#define TCHT_ONITEMICON	(2)
-#define TCHT_ONITEMLABEL	(4)
-
-/* Animation control styles */
-#define ACS_AUTOPLAY	(4)
-#define ACS_CENTER	(1)
-#define ACS_TRANSPARENT	(2)
-
-/* MODEMDEVCAPS structure */
-#define DIALOPTION_BILLING	(64)
-#define DIALOPTION_QUIET	(128)
-#define DIALOPTION_DIALTONE	(256)
-#define MDMVOLFLAG_LOW	(1)
-#define MDMVOLFLAG_MEDIUM	(2)
-#define MDMVOLFLAG_HIGH	(4)
-#define MDMVOL_LOW	(0)
-#define MDMVOL_MEDIUM	(1)
-#define MDMVOL_HIGH	(2)
-#define MDMSPKRFLAG_OFF	(1)
-#define MDMSPKRFLAG_DIAL	(2)
-#define MDMSPKRFLAG_ON	(4)
-#define MDMSPKRFLAG_CALLSETUP	(8)
-#define MDMSPKR_OFF	(0)
-#define MDMSPKR_DIAL	(1)
-#define MDMSPKR_ON	(2)
-#define MDMSPKR_CALLSETUP	(3)
-#define MDM_BLIND_DIAL	(512)
-#define MDM_CCITT_OVERRIDE	(64)
-#define MDM_CELLULAR	(8)
-#define MDM_COMPRESSION	(1)
-#define MDM_ERROR_CONTROL	(2)
-#define MDM_FLOWCONTROL_HARD	(16)
-#define MDM_FLOWCONTROL_SOFT	(32)
-#define MDM_FORCED_EC	(4)
-#define MDM_SPEED_ADJUST	(128)
-#define MDM_TONE_DIAL	(256)
-#define MDM_V23_OVERRIDE	(1024)
-
-/* Languages */
-#define LANG_BULGARIAN	(2)
-#define LANG_CHINESE	(4)
-#define LANG_CROATIAN	(26)
-#define LANG_CZECH	(5)
-#define LANG_DANISH	(6)
-#define LANG_DUTCH	(19)
-#define LANG_ENGLISH	(9)
-#define LANG_FINNISH	(11)
-#define LANG_FRENCH	(12)
-#define LANG_GERMAN	(7)
-#define LANG_GREEK	(8)
-#define LANG_HUNGARIAN	(14)
-#define LANG_ICELANDIC	(15)
-#define LANG_ITALIAN	(16)
-#define LANG_JAPANESE	(17)
-#define LANG_KOREAN	(18)
-#define LANG_NEUTRAL	(0)
-#define LANG_NORWEGIAN	(20)
-#define LANG_POLISH	(21)
-#define LANG_PORTUGUESE	(22)
-#define LANG_ROMANIAN	(24)
-#define LANG_RUSSIAN	(25)
-#define LANG_SLOVAK	(27)
-#define LANG_SLOVENIAN	(36)
-#define LANG_SPANISH	(10)
-#define LANG_SWEDISH	(29)
-#define LANG_TURKISH	(31)
-#define SUBLANG_CHINESE_SIMPLIFIED	(2)
-#define SUBLANG_CHINESE_TRADITIONAL	(1)
-#define SUBLANG_CHINESE_HONGKONG	(3)
-#define SUBLANG_CHINESE_SINGAPORE	(4)
-#define SUBLANG_DEFAULT	(1)
-#define SUBLANG_DUTCH	(1)
-#define SUBLANG_DUTCH_BELGIAN	(2)
-#define SUBLANG_ENGLISH_AUS	(3)
-#define SUBLANG_ENGLISH_CAN	(4)
-#define SUBLANG_ENGLISH_EIRE	(6)
-#define SUBLANG_ENGLISH_NZ	(5)
-#define SUBLANG_ENGLISH_UK	(2)
-#define SUBLANG_ENGLISH_US	(1)
-#define SUBLANG_FRENCH	(1)
-#define SUBLANG_FRENCH_BELGIAN	(2)
-#define SUBLANG_FRENCH_CANADIAN	(3)
-#define SUBLANG_FRENCH_SWISS	(4)
-#define SUBLANG_GERMAN	(1)
-#define SUBLANG_GERMAN_AUSTRIAN	(3)
-#define SUBLANG_GERMAN_SWISS	(2)
-#define SUBLANG_ITALIAN	(1)
-#define SUBLANG_ITALIAN_SWISS	(2)
-#define SUBLANG_NEUTRAL	(0)
-#define SUBLANG_NORWEGIAN_BOKMAL	(1)
-#define SUBLANG_NORWEGIAN_NYNORSK	(2)
-#define SUBLANG_PORTUGUESE	(2)
-#define SUBLANG_PORTUGUESE_BRAZILIAN	(1)
-#define SUBLANG_SPANISH	(1)
-#define SUBLANG_SPANISH_MEXICAN	(2)
-#define SUBLANG_SPANISH_MODERN	(3)
-#define SUBLANG_SYS_DEFAULT	(2)
-#define NLS_VALID_LOCALE_MASK	(1048575)
-#define SORT_DEFAULT	(0)
-#define SORT_JAPANESE_XJIS	(0)
-#define SORT_JAPANESE_UNICODE	(1)
-#define SORT_CHINESE_BIG5	(0)
-#define SORT_CHINESE_UNICODE	(1)
-#define SORT_KOREAN_KSC	(0)
-#define SORT_KOREAN_UNICODE	(1)
-
-/* SYSTEM_INFO structure */
-#define PROCESSOR_INTEL_386	(386)
-#define PROCESSOR_INTEL_486	(486)
-#define PROCESSOR_INTEL_PENTIUM	(586)
-#define PROCESSOR_MIPS_R4000	(4000)
-#define PROCESSOR_ALPHA_21064	(21064)
-
-/* FSCTL_SET_COMPRESSION */
-#define COMPRESSION_FORMAT_NONE	(0)
-#define COMPRESSION_FORMAT_DEFAULT	(1)
-#define COMPRESSION_FORMAT_LZNT1	(2)
-
-/* TAPE_GET_DRIVE_PARAMETERS structure */
-#define TAPE_DRIVE_COMPRESSION	(131072)
-#define TAPE_DRIVE_ECC	(65536)
-#define TAPE_DRIVE_ERASE_BOP_ONLY	(64)
-#define TAPE_DRIVE_ERASE_LONG	(32)
-#define TAPE_DRIVE_ERASE_IMMEDIATE	(128)
-#define TAPE_DRIVE_ERASE_SHORT	(16)
-#define TAPE_DRIVE_FIXED	(1)
-#define TAPE_DRIVE_FIXED_BLOCK	(1024)
-#define TAPE_DRIVE_INITIATOR	(4)
-#define TAPE_DRIVE_PADDING	(262144)
-#define TAPE_DRIVE_GET_ABSOLUTE_BLK	(1048576)
-#define TAPE_DRIVE_GET_LOGICAL_BLK	(2097152)
-#define TAPE_DRIVE_REPORT_SMKS	(524288)
-#define TAPE_DRIVE_SELECT	(2)
-#define TAPE_DRIVE_SET_EOT_WZ_SIZE	(4194304)
-#define TAPE_DRIVE_TAPE_CAPACITY	(256)
-#define TAPE_DRIVE_TAPE_REMAINING	(512)
-#define TAPE_DRIVE_VARIABLE_BLOCK	(2048)
-#define TAPE_DRIVE_WRITE_PROTECT	(4096)
-#define TAPE_DRIVE_ABS_BLK_IMMED	(-2147475456)
-#define TAPE_DRIVE_ABSOLUTE_BLK	(-2147479552)
-#define TAPE_DRIVE_END_OF_DATA	(-2147418112)
-#define TAPE_DRIVE_FILEMARKS	(-2147221504)
-#define TAPE_DRIVE_LOAD_UNLOAD	(-2147483647)
-#define TAPE_DRIVE_LOAD_UNLD_IMMED	(-2147483616)
-#define TAPE_DRIVE_LOCK_UNLOCK	(-2147483644)
-#define TAPE_DRIVE_LOCK_UNLK_IMMED	(-2147483520)
-#define TAPE_DRIVE_LOG_BLK_IMMED	(-2147450880)
-#define TAPE_DRIVE_LOGICAL_BLK	(-2147467264)
-#define TAPE_DRIVE_RELATIVE_BLKS	(-2147352576)
-#define TAPE_DRIVE_REVERSE_POSITION	(-2143289344)
-#define TAPE_DRIVE_REWIND_IMMEDIATE	(-2147483640)
-#define TAPE_DRIVE_SEQUENTIAL_FMKS	(-2146959360)
-#define TAPE_DRIVE_SEQUENTIAL_SMKS	(-2145386496)
-#define TAPE_DRIVE_SET_BLOCK_SIZE	(-2147483632)
-#define TAPE_DRIVE_SET_COMPRESSION	(-2147483136)
-#define TAPE_DRIVE_SET_ECC	(-2147483392)
-#define TAPE_DRIVE_SET_PADDING	(-2147482624)
-#define TAPE_DRIVE_SET_REPORT_SMKS	(-2147481600)
-#define TAPE_DRIVE_SETMARKS	(-2146435072)
-#define TAPE_DRIVE_SPACE_IMMEDIATE	(-2139095040)
-#define TAPE_DRIVE_TENSION	(-2147483646)
-#define TAPE_DRIVE_TENSION_IMMED	(-2147483584)
-#define TAPE_DRIVE_WRITE_FILEMARKS	(-2113929216)
-#define TAPE_DRIVE_WRITE_LONG_FMKS	(-2013265920)
-#define TAPE_DRIVE_WRITE_MARK_IMMED	(-1879048192)
-#define TAPE_DRIVE_WRITE_SETMARKS	(-2130706432)
-#define TAPE_DRIVE_WRITE_SHORT_FMKS	(-2080374784)
-
-/* Standard rights */
-#define STANDARD_RIGHTS_REQUIRED	(0xf0000L)
-#define STANDARD_RIGHTS_WRITE	(0x20000L)
-#define STANDARD_RIGHTS_READ	(0x20000L)
-#define STANDARD_RIGHTS_EXECUTE	(0x20000L)
-#define STANDARD_RIGHTS_ALL	(0x1f0000L)
-#define SPECIFIC_RIGHTS_ALL	(0xffffL)
-
-/* ACCESS_MASK */
-#define MAXIMUM_ALLOWED	(0x2000000L)
-#define GENERIC_ALL	(0x10000000L)
-
-/* SID */
-#define SECURITY_NULL_RID	(0L)
-#define SECURITY_WORLD_RID	(0L)
-#define SECURITY_LOCAL_RID	(0L)
-#define SECURITY_CREATOR_OWNER_RID	(0L)
-#define SECURITY_CREATOR_GROUP_RID	(0x1L)
-#define SECURITY_DIALUP_RID	(0x1L)
-#define SECURITY_NETWORK_RID	(0x2L)
-#define SECURITY_BATCH_RID	(0x3L)
-#define SECURITY_INTERACTIVE_RID	(0x4L)
-#define SECURITY_LOGON_IDS_RID	(0x5L)
-#define SECURITY_LOGON_IDS_RID_COUNT	(0x3L)
-#define SECURITY_SERVICE_RID	(0x6L)
-#define SECURITY_LOCAL_SYSTEM_RID	(0x12L)
-#define SECURITY_BUILTIN_DOMAIN_RID	(0x20L)
-#define DOMAIN_USER_RID_ADMIN	(0x1f4L)
-#define DOMAIN_USER_RID_GUEST	(0x1f5L)
-#define DOMAIN_GROUP_RID_ADMINS	(0x200L)
-#define DOMAIN_GROUP_RID_USERS	(0x201L)
-#define DOMAIN_ALIAS_RID_ADMINS	(0x220L)
-#define DOMAIN_ALIAS_RID_USERS	(0x221L)
-#define DOMAIN_ALIAS_RID_GUESTS	(0x222L)
-#define DOMAIN_ALIAS_RID_POWER_USERS	(0x223L)
-#define DOMAIN_ALIAS_RID_ACCOUNT_OPS	(0x224L)
-#define DOMAIN_ALIAS_RID_SYSTEM_OPS	(0x225L)
-#define DOMAIN_ALIAS_RID_PRINT_OPS	(0x226L)
-#define DOMAIN_ALIAS_RID_BACKUP_OPS	(0x227L)
-#define DOMAIN_ALIAS_RID_REPLICATOR	(0x228L)
-
-/* TOKEN_GROUPS structure */
-#define SE_GROUP_MANDATORY	(0x1L)
-#define SE_GROUP_ENABLED_BY_DEFAULT	(0x2L)
-#define SE_GROUP_ENABLED	(0x4L)
-#define SE_GROUP_OWNER	(0x8L)
-#define SE_GROUP_LOGON_ID	(0xc0000000L)
-
-/* ACL Defines */
-#define ACL_REVISION  (2)
-
-/* ACE_HEADER structure */
-#define ACCESS_ALLOWED_ACE_TYPE      (0x0)
-#define ACCESS_DENIED_ACE_TYPE       (0x1)
-#define SYSTEM_AUDIT_ACE_TYPE        (0x2)
-#define SYSTEM_ALARM_ACE_TYPE        (0x3)
-
-/* ACE flags in the ACE_HEADER structure */
-#define OBJECT_INHERIT_ACE           (0x1)
-#define CONTAINER_INHERIT_ACE        (0x2)
-#define NO_PROPAGATE_INHERIT_ACE     (0x4)
-#define INHERIT_ONLY_ACE             (0x8)
-#define SUCCESSFUL_ACCESS_ACE_FLAG   (0x40)
-#define FAILED_ACCESS_ACE_FLAG       (0x80)
-
-/* SECURITY_DESCRIPTOR_CONTROL */
-#define SECURITY_DESCRIPTOR_REVISION	(1)
-#define SECURITY_DESCRIPTOR_MIN_LENGTH	(20)
-#define SE_OWNER_DEFAULTED	(1)
-#define SE_GROUP_DEFAULTED	(2)
-#define SE_DACL_PRESENT	(4)
-#define SE_DACL_DEFAULTED	(8)
-#define SE_SACL_PRESENT	(16)
-#define SE_SACL_DEFAULTED	(32)
-#define SE_SELF_RELATIVE	(32768)
-
-/* PRIVILEGE_SET */
-#define SE_PRIVILEGE_ENABLED_BY_DEFAULT	(0x1L)
-#define SE_PRIVILEGE_ENABLED	(0x2L)
-#define SE_PRIVILEGE_USED_FOR_ACCESS	(0x80000000L)
-#define PRIVILEGE_SET_ALL_NECESSARY	(0x1)
-
-/* OPENFILENAME structure */
-#define OFN_ALLOWMULTISELECT	(0x200)
-#define OFN_CREATEPROMPT	(0x2000)
-#define OFN_ENABLEHOOK	(0x20)
-#define OFN_ENABLETEMPLATE	(0x40)
-#define OFN_ENABLETEMPLATEHANDLE	(0x80)
-#define OFN_EXPLORER	(0x80000)
-#define OFN_EXTENSIONDIFFERENT	(0x400)
-#define OFN_FILEMUSTEXIST	(0x1000)
-#define OFN_HIDEREADONLY	(0x4)
-#define OFN_LONGNAMES	(0x200000)
-#define OFN_NOCHANGEDIR	(0x8)
-#define OFN_NODEREFERENCELINKS	(0x100000)
-#define OFN_NOLONGNAMES	(0x40000)
-#define OFN_NONETWORKBUTTON	(0x20000)
-#define OFN_NOREADONLYRETURN	(0x8000)
-#define OFN_NOTESTFILECREATE	(0x10000)
-#define OFN_NOVALIDATE	(0x100)
-#define OFN_OVERWRITEPROMPT	(0x2)
-#define OFN_PATHMUSTEXIST	(0x800)
-#define OFN_READONLY	(0x1)
-#define OFN_SHAREAWARE	(0x4000)
-#define OFN_SHOWHELP	(0x10)
-
-/* SHAREVISTRING message */
-#define OFN_SHAREFALLTHROUGH	(0x2)
-#define OFN_SHARENOWARN	(0x1)
-#define OFN_SHAREWARN	(0)
-
-/* Open/Save notifications */
-#define CDN_INITDONE	(0xfffffda7)
-#define CDN_SELCHANGE	(0xfffffda6)
-#define CDN_FOLDERCHANGE	(0xfffffda5)
-#define CDN_SHAREVIOLATION	(0xfffffda4)
-#define CDN_HELP	(0xfffffda3)
-#define CDN_FILEOK	(0xfffffda2)
-#define CDN_TYPECHANGE	(0xfffffda1)
-
-/* Open/Save messages */
-#define CDM_GETFILEPATH	(0x465)
-#define CDM_GETFOLDERIDLIST	(0x467)
-#define CDM_GETFOLDERPATH	(0x466)
-#define CDM_GETSPEC	(0x464)
-#define CDM_HIDECONTROL	(0x469)
-#define CDM_SETCONTROLTEXT	(0x468)
-#define CDM_SETDEFEXT	(0x46a)
-
-/* CHOOSECOLOR structure */
-#define CC_ENABLEHOOK	(0x10)
-#define CC_ENABLETEMPLATE	(0x20)
-#define CC_ENABLETEMPLATEHANDLE	(0x40)
-#define CC_FULLOPEN	(0x2)
-#define CC_PREVENTFULLOPEN	(0x4)
-#define CC_RGBINIT	(0x1)
-#define CC_SHOWHELP	(0x8)
-#define CC_SOLIDCOLOR	(0x80)
-
-/* FINDREPLACE structure */
-#define FR_DIALOGTERM	(0x40)
-#define FR_DOWN	(0x1)
-#define FR_ENABLEHOOK	(0x100)
-#define FR_ENABLETEMPLATE	(0x200)
-#define FR_ENABLETEMPLATEHANDLE	(0x2000)
-#define FR_FINDNEXT	(0x8)
-#define FR_HIDEUPDOWN	(0x4000)
-#define FR_HIDEMATCHCASE	(0x8000)
-#define FR_HIDEWHOLEWORD	(0x10000)
-#define FR_MATCHCASE	(0x4)
-#define FR_NOMATCHCASE	(0x800)
-#define FR_NOUPDOWN	(0x400)
-#define FR_NOWHOLEWORD	(0x1000)
-#define FR_REPLACE	(0x10)
-#define FR_REPLACEALL	(0x20)
-#define FR_SHOWHELP	(0x80)
-#define FR_WHOLEWORD	(0x2)
-
-/* CHOOSEFONT structure */
-#define CF_APPLY	(0x200L)
-#define CF_ANSIONLY	(0x400L)
-#define CF_BOTH	(0x3)
-#define CF_TTONLY	(0x40000L)
-#define CF_EFFECTS	(0x100L)
-#define CF_ENABLEHOOK	(0x8L)
-#define CF_ENABLETEMPLATE	(0x10L)
-#define CF_ENABLETEMPLATEHANDLE	(0x20L)
-#define CF_FIXEDPITCHONLY	(0x4000L)
-#define CF_FORCEFONTEXIST	(0x10000L)
-#define CF_INITTOLOGFONTSTRUCT	(0x40L)
-#define CF_LIMITSIZE	(0x2000L)
-#define CF_NOOEMFONTS	(0x800L)
-#define CF_NOFACESEL	(0x80000L)
-#define CF_NOSCRIPTSEL	(0x800000L)
-#define CF_NOSTYLESEL	(0x100000L)
-#define CF_NOSIZESEL	(0x200000L)
-#define CF_NOSIMULATIONS	(0x1000L)
-#define CF_NOVECTORFONTS	(0x800L)
-#define CF_NOVERTFONTS	(0x1000000L)
-#define CF_PRINTERFONTS	(0x2)
-#define CF_SCALABLEONLY	(0x20000L)
-#define CF_SCREENFONTS	(0x1)
-#define CF_SCRIPTSONLY	(0x400L)
-#define CF_SELECTSCRIPT	(0x400000L)
-#define CF_SHOWHELP	(0x4L)
-#define CF_USESTYLE	(0x80L)
-#define CF_WYSIWYG	(0x8000L)
-#define BOLD_FONTTYPE	(0x100)
-#define ITALIC_FONTTYPE	(0x200)
-#define PRINTER_FONTTYPE	(0x4000)
-#define REGULAR_FONTTYPE	(0x400)
-#define SCREEN_FONTTYPE	(0x2000)
-#define SIMULATED_FONTTYPE	(0x8000)
-
-/* Common dialog messages */
-#define COLOROKSTRINGW	L"commdlg_ColorOK"
-#define FILEOKSTRINGW	L"commdlg_FileNameOK"
-#define FINDMSGSTRINGW	L"commdlg_FindReplace"
-#define HELPMSGSTRINGW	L"commdlg_help"
-#define LBSELCHSTRINGW	L"commdlg_LBSelChangedNotify"
-#define SETRGBSTRINGW	L"commdlg_SetRGBColor"
-#define SHAREVISTRINGW	L"commdlg_ShareViolation"
-#define COLOROKSTRINGA	"commdlg_ColorOK"
-#define FILEOKSTRINGA	"commdlg_FileNameOK"
-#define FINDMSGSTRINGA	"commdlg_FindReplace"
-#define HELPMSGSTRINGA	"commdlg_help"
-#define LBSELCHSTRINGA	"commdlg_LBSelChangedNotify"
-#define SETRGBSTRINGA	"commdlg_SetRGBColor"
-#define SHAREVISTRINGA	"commdlg_ShareViolation"
-#ifdef UNICODE
-#define COLOROKSTRING COLOROKSTRINGW
-#define FILEOKSTRING FILEOKSTRINGW
-#define FINDMSGSTRING FINDMSGSTRINGW
-#define HELPMSGSTRING HELPMSGSTRINGW
-#define LBSELCHSTRING LBSELCHSTRINGW
-#define SETRGBSTRING SETRGBSTRINGW
-#define SHAREVISTRING SHAREVISTRINGW
-#else
-#define COLOROKSTRING COLOROKSTRINGA
-#define FILEOKSTRING FILEOKSTRINGA
-#define FINDMSGSTRING FINDMSGSTRINGA
-#define HELPMSGSTRING HELPMSGSTRINGA
-#define LBSELCHSTRING LBSELCHSTRINGA
-#define SETRGBSTRING SETRGBSTRINGA
-#define SHAREVISTRING SHAREVISTRINGA
-#endif
-
-/* LBSELCHSTRING message */
-#define CD_LBSELCHANGE	(0)
-#define CD_LBSELADD	(2)
-#define CD_LBSELSUB	(1)
-#define CD_LBSELNOITEMS	(-1)
-
-/* DEVNAMES structure */
-#define DN_DEFAULTPRN	(1)
-
-/* PRINTDLG structure */
-#define PD_ALLPAGES	(0)
-#define PD_COLLATE	(16)
-#define PD_DISABLEPRINTTOFILE	(524288)
-#define PD_ENABLEPRINTHOOK	(4096)
-#define PD_ENABLEPRINTTEMPLATE	(16384)
-#define PD_ENABLEPRINTTEMPLATEHANDLE	(65536)
-#define PD_ENABLESETUPHOOK	(8192)
-#define PD_ENABLESETUPTEMPLATE	(32768)
-#define PD_ENABLESETUPTEMPLATEHANDLE	(131072)
-#define PD_HIDEPRINTTOFILE	(1048576)
-#define PD_NOPAGENUMS	(8)
-#define PD_NOSELECTION	(4)
-#define PD_NOWARNING	(128)
-#define PD_PAGENUMS	(2)
-#define PD_PRINTSETUP	(64)
-#define PD_PRINTTOFILE	(32)
-#define PD_RETURNDC	(256)
-#define PD_RETURNDEFAULT	(1024)
-#define PD_RETURNIC	(512)
-#define PD_SELECTION	(1)
-#define PD_SHOWHELP	(2048)
-#define PD_USEDEVMODECOPIES	(262144)
-#define PD_USEDEVMODECOPIESANDCOLLATE	(262144)
-
-/* PAGESETUPDLG structure */
-#define PSD_DEFAULTMINMARGINS	(0)
-#define PSD_DISABLEMARGINS	(16)
-#define PSD_DISABLEORIENTATION	(256)
-#define PSD_DISABLEPAGEPAINTING	(524288)
-#define PSD_DISABLEPAPER	(512)
-#define PSD_DISABLEPRINTER	(32)
-#define PSD_ENABLEPAGEPAINTHOOK	(262144)
-#define PSD_ENABLEPAGESETUPHOOK	(8192)
-#define PSD_ENABLEPAGESETUPTEMPLATE	(32768)
-#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE	(131072)
-#define PSD_INHUNDREDTHSOFMILLIMETERS	(8)
-#define PSD_INTHOUSANDTHSOFINCHES	(4)
-#define PSD_INWININIINTLMEASURE	(0)
-#define PSD_MARGINS	(2)
-#define PSD_MINMARGINS	(1)
-#define PSD_NOWARNING	(128)
-#define PSD_RETURNDEFAULT	(1024)
-#define PSD_SHOWHELP	(2048)
-
-/* WM_SHOWWINDOW message */
-#define SW_OTHERUNZOOM	(4)
-#define SW_OTHERZOOM	(2)
-#define SW_PARENTCLOSING	(1)
-#define SW_PARENTOPENING	(3)
-
-/* Virtual Key codes */
-#define VK_LBUTTON	(1)
-#define VK_RBUTTON	(2)
-#define VK_CANCEL	(3)
-#define VK_MBUTTON	(4)
-#define VK_BACK	(8)
-#define VK_TAB	(9)
-#define VK_CLEAR	(12)
-#define VK_RETURN	(13)
-#define VK_SHIFT	(16)
-#define VK_CONTROL	(17)
-#define VK_MENU	(18)
-#define VK_PAUSE	(19)
-#define VK_CAPITAL	(20)
-#define VK_ESCAPE	(27)
-#define VK_SPACE	(32)
-#define VK_PRIOR	(33)
-#define VK_NEXT	(34)
-#define VK_END	(35)
-#define VK_HOME	(36)
-#define VK_LEFT	(37)
-#define VK_UP	(38)
-#define VK_RIGHT	(39)
-#define VK_DOWN	(40)
-#define VK_SELECT	(41)
-#define VK_PRINT	(42)
-#define VK_EXECUTE	(43)
-#define VK_SNAPSHOT	(44)
-#define VK_INSERT	(45)
-#define VK_DELETE	(46)
-#define VK_HELP	(47)
-#define VK_0	(48)
-#define VK_1	(49)
-#define VK_2	(50)
-#define VK_3	(51)
-#define VK_4	(52)
-#define VK_5	(53)
-#define VK_6	(54)
-#define VK_7	(55)
-#define VK_8	(56)
-#define VK_9	(57)
-#define VK_A	(65)
-#define VK_B	(66)
-#define VK_C	(67)
-#define VK_D	(68)
-#define VK_E	(69)
-#define VK_F	(70)
-#define VK_G	(71)
-#define VK_H	(72)
-#define VK_I	(73)
-#define VK_J	(74)
-#define VK_K	(75)
-#define VK_L	(76)
-#define VK_M	(77)
-#define VK_N	(78)
-#define VK_O	(79)
-#define VK_P	(80)
-#define VK_Q	(81)
-#define VK_R	(82)
-#define VK_S	(83)
-#define VK_T	(84)
-#define VK_U	(85)
-#define VK_V	(86)
-#define VK_W	(87)
-#define VK_X	(88)
-#define VK_Y	(89)
-#define VK_Z	(90)
-#define VK_NUMPAD0	(96)
-#define VK_NUMPAD1	(97)
-#define VK_NUMPAD2	(98)
-#define VK_NUMPAD3	(99)
-#define VK_NUMPAD4	(100)
-#define VK_NUMPAD5	(101)
-#define VK_NUMPAD6	(102)
-#define VK_NUMPAD7	(103)
-#define VK_NUMPAD8	(104)
-#define VK_NUMPAD9	(105)
-#define VK_MULTIPLY	(106)
-#define VK_ADD	(107)
-#define VK_SEPARATOR	(108)
-#define VK_SUBTRACT	(109)
-#define VK_DECIMAL	(110)
-#define VK_DIVIDE	(111)
-#define VK_F1	(112)
-#define VK_F2	(113)
-#define VK_F3	(114)
-#define VK_F4	(115)
-#define VK_F5	(116)
-#define VK_F6	(117)
-#define VK_F7	(118)
-#define VK_F8	(119)
-#define VK_F9	(120)
-#define VK_F10	(121)
-#define VK_F11	(122)
-#define VK_F12	(123)
-#define VK_F13	(124)
-#define VK_F14	(125)
-#define VK_F15	(126)
-#define VK_F16	(127)
-#define VK_F17	(128)
-#define VK_F18	(129)
-#define VK_F19	(130)
-#define VK_F20	(131)
-#define VK_F21	(132)
-#define VK_F22	(133)
-#define VK_F23	(134)
-#define VK_F24	(135)
-
-/* GetAsyncKeyState */
-#define VK_NUMLOCK	(144)
-#define VK_SCROLL	(145)
-#define VK_LSHIFT	(160)
-#define VK_LCONTROL	(162)
-#define VK_LMENU	(164)
-#define VK_RSHIFT	(161)
-#define VK_RCONTROL	(163)
-#define VK_RMENU	(165)
-
-/* ImmGetVirtualKey */
-#define VK_PROCESSKEY	(229)
-
-/* Keystroke Message Flags */
-#define KF_ALTDOWN	(8192)
-#define KF_DLGMODE	(2048)
-#define KF_EXTENDED	(256)
-#define KF_MENUMODE	(4096)
-#define KF_REPEAT	(16384)
-#define KF_UP	(32768)
-
-/* GetKeyboardLayoutName */
-#define KL_NAMELENGTH	(9)
-
-/* WM_ACTIVATE message */
-#define WA_ACTIVE	(1)
-#define WA_CLICKACTIVE	(2)
-#define WA_INACTIVE	(0)
-
-/* WM_ACTIVATE message */
-#define PWR_CRITICALRESUME	(3)
-#define PWR_SUSPENDREQUEST	(1)
-#define PWR_SUSPENDRESUME	(2)
-#define PWR_FAIL	(-1)
-#define PWR_OK	(1)
-
-/* WM_NOTIFYFORMAT message */
-#define NF_QUERY	(3)
-#define NF_REQUERY	(4)
-#define NFR_ANSI	(1)
-#define NFR_UNICODE	(2)
-
-/* WM_SIZING message */
-#define WMSZ_BOTTOM	(6)
-#define WMSZ_BOTTOMLEFT	(7)
-#define WMSZ_BOTTOMRIGHT	(8)
-#define WMSZ_LEFT	(1)
-#define WMSZ_RIGHT	(2)
-#define WMSZ_TOP	(3)
-#define WMSZ_TOPLEFT	(4)
-#define WMSZ_TOPRIGHT	(5)
-
-/* WM_MOUSEACTIVATE message */
-#define MA_ACTIVATE	(1)
-#define MA_ACTIVATEANDEAT	(2)
-#define MA_NOACTIVATE	(3)
-#define MA_NOACTIVATEANDEAT	(4)
-
-/* WM_SIZE message */
-#define SIZE_MAXHIDE	(4)
-#define SIZE_MAXIMIZED	(2)
-#define SIZE_MAXSHOW	(3)
-#define SIZE_MINIMIZED	(1)
-#define SIZE_RESTORED	(0)
-
-/* WM_NCCALCSIZE message */
-#define WVR_ALIGNTOP	(16)
-#define WVR_ALIGNLEFT	(32)
-#define WVR_ALIGNBOTTOM	(64)
-#define WVR_ALIGNRIGHT	(128)
-#define WVR_HREDRAW	(256)
-#define WVR_VREDRAW	(512)
-#define WVR_REDRAW	(768)
-#define WVR_VALIDRECTS	(1024)
-
-/* WM_NCHITTEST message */
-#define HTBOTTOM	(15)
-#define HTBOTTOMLEFT	(16)
-#define HTBOTTOMRIGHT	(17)
-#define HTCAPTION	(2)
-#define HTCLIENT	(1)
-#define HTERROR	(-2)
-#define HTGROWBOX	(4)
-#define HTHSCROLL	(6)
-#define HTLEFT	(10)
-#define HTMENU	(5)
-#define HTNOWHERE	(0)
-#define HTREDUCE	(8)
-#define HTRIGHT	(11)
-#define HTSIZE	(4)
-#define HTSYSMENU	(3)
-#define HTTOP	(12)
-#define HTTOPLEFT	(13)
-#define HTTOPRIGHT	(14)
-#define HTTRANSPARENT	(-1)
-#define HTVSCROLL	(7)
-#define HTZOOM	(9)
-
-/* Mouse messages */
-#define MK_CONTROL	(8)
-#define MK_LBUTTON	(1)
-#define MK_MBUTTON	(16)
-#define MK_RBUTTON	(2)
-#define MK_SHIFT	(4)
-
-/* WNDCLASS structure */
-#define CS_BYTEALIGNCLIENT	(4096)
-#define CS_BYTEALIGNWINDOW	(8192)
-#define CS_CLASSDC	(64)
-#define CS_DBLCLKS	(8)
-#define CS_GLOBALCLASS	(16384)
-#define CS_HREDRAW	(2)
-#define CS_KEYCVTWINDOW	(4)
-#define CS_NOCLOSE	(512)
-#define CS_NOKEYCVT	(256)
-#define CS_OWNDC	(32)
-#define CS_PARENTDC	(128)
-#define CS_SAVEBITS	(2048)
-#define CS_VREDRAW	(1)
-#define DLGWINDOWEXTRA	(30)
-
-/* ACCEL structure */
-#define FALT	(16)
-#define FCONTROL	(8)
-#define FNOINVERT	(2)
-#define FSHIFT	(4)
-#define FVIRTKEY	(1)
-
-/* MENUITEMINFO structure */
-#define MIIM_CHECKMARKS	(8)
-#define MIIM_DATA	(32)
-#define MIIM_ID	(2)
-#define MIIM_STATE	(1)
-#define MIIM_SUBMENU	(4)
-#define MIIM_TYPE	(16)
-#define MFT_BITMAP	(0x4L)
-#define MFT_MENUBARBREAK	(0x20L)
-#define MFT_MENUBREAK	(0x40L)
-#define MFT_OWNERDRAW	(0x100L)
-#define MFT_RADIOCHECK	(0x200L)
-#define MFT_RIGHTJUSTIFY	(0x4000L)
-#define MFT_SEPARATOR	(0x800L)
-#define MFT_STRING	(0L)
-#define MFS_CHECKED	(0x8L)
-#define MFS_DEFAULT	(0x1000L)
-#define MFS_DISABLED	(0x3L)
-#define MFS_ENABLED	(0L)
-#define MFS_GRAYED	(0x3L)
-#define MFS_HILITE	(0x80L)
-#define MFS_UNCHECKED	(0L)
-#define MFS_UNHILITE	(0L)
-
-/* SERIALKEYS structure */
-#define SERKF_AVAILABLE	(2)
-#define SERKF_INDICATOR	(4)
-#define SERKF_SERIALKEYSON	(1)
-
-/* FILTERKEYS structure */
-#define FKF_AVAILABLE	(2)
-#define FKF_CLICKON	(64)
-#define FKF_FILTERKEYSON	(1)
-#define FKF_HOTKEYACTIVE	(4)
-#define FKF_HOTKEYSOUND	(16)
-#define FKF_CONFIRMHOTKEY	(8)
-#define FKF_INDICATOR	(32)
-
-/* HELPINFO structure */
-#define HELPINFO_MENUITEM	(2)
-#define HELPINFO_WINDOW	(1)
-
-/* WM_PRINT message */
-#define PRF_CHECKVISIBLE	(0x1L)
-#define PRF_CHILDREN	(0x10L)
-#define PRF_CLIENT	(0x4L)
-#define PRF_ERASEBKGND	(0x8L)
-#define PRF_NONCLIENT	(0x2L)
-#define PRF_OWNED	(0x20L)
-
-/* MapWindowPoints */
-#define HWND_DESKTOP	((HWND)0)
-
-/* WM_SYSCOMMAND message */
-#define SC_CLOSE	(61536)
-#define SC_CONTEXTHELP	(61824)
-#define SC_DEFAULT	(61792)
-#define SC_HOTKEY	(61776)
-#define SC_HSCROLL	(61568)
-#define SC_KEYMENU	(61696)
-#define SC_MAXIMIZE	(61488)
-#define SC_ZOOM	(61488)
-#define SC_MINIMIZE	(61472)
-#define SC_ICON	(61472)
-#define SC_MONITORPOWER	(61808)
-#define SC_MOUSEMENU	(61584)
-#define SC_MOVE	(61456)
-#define SC_NEXTWINDOW	(61504)
-#define SC_PREVWINDOW	(61520)
-#define SC_RESTORE	(61728)
-#define SC_SCREENSAVE	(61760)
-#define SC_SIZE	(61440)
-#define SC_TASKLIST	(61744)
-#define SC_VSCROLL	(61552)
-
-/* DM_GETDEFID message */
-#define DC_HASDEFID	(21323)
-
-/* WM_GETDLGCODE message */
-#define DLGC_BUTTON	(8192)
-#define DLGC_DEFPUSHBUTTON	(16)
-#define DLGC_HASSETSEL	(8)
-#define DLGC_RADIOBUTTON	(64)
-#define DLGC_STATIC	(256)
-#define DLGC_UNDEFPUSHBUTTON	(32)
-#define DLGC_WANTALLKEYS	(4)
-#define DLGC_WANTARROWS	(1)
-#define DLGC_WANTCHARS	(128)
-#define DLGC_WANTMESSAGE	(4)
-#define DLGC_WANTTAB	(2)
-
-/* EM_SETMARGINS message */
-#define EC_LEFTMARGIN	(1)
-#define EC_RIGHTMARGIN	(2)
-#define EC_USEFONTINFO	(65535)
-
-/* LB_SETCOUNT message */
-#define LB_ERR		(-1)
-#define LB_ERRSPACE	(-2)
-#define LB_OKAY		(0)
-
-/* CB_DIR message */
-#define CB_ERR	(-1)
-#define CB_ERRSPACE	(-2)
-
-/* WM_IME_CONTROL message */
-#define IMC_GETCANDIDATEPOS	(7)
-#define IMC_GETCOMPOSITIONFONT	(9)
-#define IMC_GETCOMPOSITIONWINDOW	(11)
-#define IMC_GETSTATUSWINDOWPOS	(15)
-#define IMC_CLOSESTATUSWINDOW	(33)
-#define IMC_OPENSTATUSWINDOW	(34)
-#define IMC_SETCANDIDATEPOS	(8)
-#define IMC_SETCOMPOSITIONFONT	(10)
-#define IMC_SETCOMPOSITIONWINDOW	(12)
-#define IMC_SETSTATUSWINDOWPOS	(16)
-
-/* WM_IME_CONTROL message */
-#define IMN_CHANGECANDIDATE	(3)
-#define IMN_CLOSECANDIDATE	(4)
-#define IMN_CLOSESTATUSWINDOW	(1)
-#define IMN_GUIDELINE	(13)
-#define IMN_OPENCANDIDATE	(5)
-#define IMN_OPENSTATUSWINDOW	(2)
-#define IMN_SETCANDIDATEPOS	(9)
-#define IMN_SETCOMPOSITIONFONT	(10)
-#define IMN_SETCOMPOSITIONWINDOW	(11)
-#define IMN_SETCONVERSIONMODE	(6)
-#define IMN_SETOPENSTATUS	(8)
-#define IMN_SETSENTENCEMODE	(7)
-#define IMN_SETSTATUSWINDOWPOS	(12)
-#define IMN_PRIVATE	(14)
-
-/* STICKYKEYS structure */
-#define SKF_AUDIBLEFEEDBACK	(64)
-#define SKF_AVAILABLE	(2)
-#define SKF_CONFIRMHOTKEY	(8)
-#define SKF_HOTKEYACTIVE	(4)
-#define SKF_HOTKEYSOUND	(16)
-#define SKF_INDICATOR	(32)
-#define SKF_STICKYKEYSON	(1)
-#define SKF_TRISTATE	(128)
-#define SKF_TWOKEYSOFF	(256)
-
-/* MOUSEKEYS structure */
-#define MKF_AVAILABLE	(2)
-#define MKF_CONFIRMHOTKEY	(8)
-#define MKF_HOTKEYACTIVE	(4)
-#define MKF_HOTKEYSOUND	(16)
-#define MKF_INDICATOR	(32)
-#define MKF_MOUSEKEYSON	(1)
-#define MKF_MODIFIERS	(64)
-#define MKF_REPLACENUMBERS	(128)
-
-/* SOUNDSENTRY structure */
-#define SSF_AVAILABLE	(2)
-#define SSF_SOUNDSENTRYON	(1)
-#define SSTF_BORDER	(2)
-#define SSTF_CHARS	(1)
-#define SSTF_DISPLAY	(3)
-#define SSTF_NONE	(0)
-#define SSGF_DISPLAY	(3)
-#define SSGF_NONE	(0)
-#define SSWF_CUSTOM	(4)
-#define SSWF_DISPLAY	(3)
-#define SSWF_NONE	(0)
-#define SSWF_TITLE	(1)
-#define SSWF_WINDOW	(2)
-
-/* ACCESSTIMEOUT structure */
-#define ATF_ONOFFFEEDBACK	(2)
-#define ATF_TIMEOUTON	(1)
-
-/* HIGHCONTRAST structure */
-#define HCF_AVAILABLE	(2)
-#define HCF_CONFIRMHOTKEY	(8)
-#define HCF_HIGHCONTRASTON	(1)
-#define HCF_HOTKEYACTIVE	(4)
-#define HCF_HOTKEYAVAILABLE	(64)
-#define HCF_HOTKEYSOUND	(16)
-#define HCF_INDICATOR	(32)
-
-/* TOGGLEKEYS structure */
-#define TKF_AVAILABLE	(2)
-#define TKF_CONFIRMHOTKEY	(8)
-#define TKF_HOTKEYACTIVE	(4)
-#define TKF_HOTKEYSOUND	(16)
-#define TKF_TOGGLEKEYSON	(1)
-
-/* Installable Policy */
-#define PP_DISPLAYERRORS	(1)
-
-/* SERVICE_INFO structure */
-#define RESOURCEDISPLAYTYPE_DOMAIN	(1)
-#define RESOURCEDISPLAYTYPE_FILE	(4)
-#define RESOURCEDISPLAYTYPE_GENERIC	(0)
-#define RESOURCEDISPLAYTYPE_GROUP	(5)
-#define RESOURCEDISPLAYTYPE_SERVER	(2)
-#define RESOURCEDISPLAYTYPE_SHARE	(3)
-
-/* KEY_EVENT_RECORD structure */
-#define CAPSLOCK_ON	(128)
-#define ENHANCED_KEY	(256)
-#define LEFT_ALT_PRESSED	(2)
-#define LEFT_CTRL_PRESSED	(8)
-#define NUMLOCK_ON	(32)
-#define RIGHT_ALT_PRESSED	(1)
-#define RIGHT_CTRL_PRESSED	(4)
-#define SCROLLLOCK_ON	(64)
-#define SHIFT_PRESSED	(16)
-
-/* MOUSE_EVENT_RECORD structure */
-#define FROM_LEFT_1ST_BUTTON_PRESSED	(1)
-#define RIGHTMOST_BUTTON_PRESSED	(2)
-#define FROM_LEFT_2ND_BUTTON_PRESSED	(4)
-#define FROM_LEFT_3RD_BUTTON_PRESSED	(8)
-#define FROM_LEFT_4TH_BUTTON_PRESSED	(16)
-#define DOUBLE_CLICK	(2)
-#define MOUSE_MOVED	(1)
-
-/* INPUT_RECORD structure */
-#define KEY_EVENT	(1)
-#define MOUSE_EVENT	(2)
-#define WINDOW_BUFFER_SIZE_EVENT	(4)
-#define MENU_EVENT	(8)
-#define FOCUS_EVENT	(16)
-
-/* BITMAPINFOHEADER structure */
-#define BI_RGB	(0L)
-#define BI_RLE8	(1L)
-#define BI_RLE4	(2L)
-#define BI_BITFIELDS	(3L)
-
-/* Extensions to OpenGL */
-
-/* ChoosePixelFormat */
-#define PFD_DRAW_TO_WINDOW	(0x4)
-#define PFD_DRAW_TO_BITMAP	(0x8)
-#define PFD_SUPPORT_GDI	(0x10)
-#define PFD_SUPPORT_OPENGL	(0x20)
-#define PFD_DOUBLEBUFFER	(0x1)
-#define PFD_STEREO	(0x2)
-#define PFD_DOUBLEBUFFER_DONTCARE	(0x40000000)
-#define PFD_STEREO_DONTCARE	(0x80000000)
-#define PFD_TYPE_RGBA	(0)
-#define PFD_TYPE_COLORINDEX	(1)
-#define PFD_MAIN_PLANE	(0)
-#define PFD_OVERLAY_PLANE	(1)
-#define PFD_UNDERLAY_PLANE	(-1)
-
-/* wglUseFontOutlines */
-#define WGL_FONT_LINES	(0)
-#define WGL_FONT_POLYGONS	(1)
-
-/* LAYERPLANEDESCRIPTOR structure */
-
-/* PIXELFORMATDESCRIPTOR structure */
-#define PFD_GENERIC_FORMAT	(0x40)
-#define PFD_NEED_PALETTE	(0x80)
-#define PFD_NEED_SYSTEM_PALETTE	(0x100)
-#define PFD_SWAP_COPY	(0x400)
-#define PFD_SWAP_EXCHANGE	(0x200)
-
-/* --------------------- old stuff, need to organize! --------------- */
-
-/* BEGINNING of windowsx.h stuff from old headers: */
-#define __CRACK_VOID_F(fn,args) (void)(fn args)
-#define __CRACK_BOOL_F(fn,args) (BOOL)(fn args)
-#define __CRACK_HMENU_F(fn,args) (HMENU)(fn args)
-#define __CRACK_HWND_F(fn,args) (HWND)(fn args)
-#define __CRACK_LONG_F(fn, args) (LRESULT)(fn args)
-#define __CRACK_ZERO_F(fn, args)  (fn args,0)
-#define GetFirstChild(h) GetTopWindow(h)
-#define GetNextSibling(h) GetWindow(h, GW_HWNDNEXT)
-#define GetWindowID(h) GetDlgCtrlID(h)
-#define SubclassWindow(h, p) (SetWindowLong(h, GWL_WNDPROC, p))
-
-#define GET_WM_COMMAND_CMD(w, l)        HIWORD(w)
-#define GET_WM_COMMAND_ID(w, l)         LOWORD(w)
-#define GET_WM_CTLCOLOR_HDC(w, l, msg)  (HDC)(w)
-#define GET_WM_CTLCOLOR_HWND(w, l, msg) (HWND)(l)
-#define GET_WM_HSCROLL_CODE(w, l)       LOWORD(w)
-#define GET_WM_HSCROLL_HWND(w, l)       (HWND)(l)
-#define GET_WM_HSCROLL_POS(w, l)        HIWORD(w)
-#define GET_WM_MDIACTIVATE_FACTIVATE(h, a, b)    (b == (LONG)h)
-#define GET_WM_MDIACTIVATE_HWNDACTIVATE(a, b) (HWND)(b)
-#define GET_WM_MDIACTIVATE_HWNDDEACT(a, b)      (HWND)(a)
-#define GET_WM_VSCROLL_CODE(w, l)        LOWORD(w)
-#define GET_WM_VSCROLL_HWND(w, l)       (HWND)(l)
-#define GET_WM_VSCROLL_POS(w, l)        HIWORD(w)
-
-#define FORWARD_WM_CLOSE(h, fn)                 __CRACK_VOID_F(fn,(h, WM_CLOSE, 0, 0))
-#define FORWARD_WM_COMMAND(h, id, c, n, fn)     __CRACK_VOID_F(fn,(h, WM_COMMAND, MAKEWPARAM(id,n), (LPARAM)c))
-#define FORWARD_WM_CREATE(h, p, fn)             __CRACK_BOOL_F(fn,(h, WM_CREATE, 0, (LPARAM)p))
-#define FORWARD_WM_DESTROY(h, fn)               __CRACK_VOID_F(fn,(h, WM_DESTROY, 0, 0))
-#define FORWARD_WM_ENABLE(h, e, fn)             __CRACK_VOID_F(fn,(h, WM_ENABLE, (WPARAM)e, 0))
-#define FORWARD_WM_INITDIALOG(h, c, l, fn)      __CRACK_BOOL_F(fn,(h, WM_INITDIALOG, (WPARAM)c, l))
-#define FORWARD_WM_MDICASCADE(h, c, fn)         __CRACK_BOOL_F(fn,(h, WM_MDICASCADE, (WPARAM)c, 0))
-#define FORWARD_WM_MDIDESTROY(h, d, fn)         __CRACK_VOID_F(fn,(h, WM_MDIDESTROY, (WPARAM)d, 0))
-#define FORWARD_WM_MDIGETACTIVE(h, fn)          __CRACK_HWND_F(fn,(h, WM_MDIGETACTIVE, 0, 0))
-#define FORWARD_WM_MDIICONARRANGE(h, fn)        __CRACK_VOID_F(fn,(h, WM_MDIICONARRANGE, 0, 0))
-#define FORWARD_WM_MDISETMENU(h, fr, hf, hw, fn) __CRACK_HMENU_F(fn,(h, WM_MDISETMENU, (WPARAM)((fr) ? (hf) : 0), (LPARAM)(hw)))
-#define FORWARD_WM_MDITILE(h, c, fn)            __CRACK_BOOL_F(fn,(h, WM_MDITILE, (WPARAM)(c), 0))
-#define FORWARD_WM_PAINT(h, fn)                 __CRACK_VOID_F(fn,(h, WM_PAINT, 0, 0))
-#define FORWARD_WM_QUERYENDSESSION(h, fn)       __CRACK_BOOL_F(fn,(h, WM_QUERYENDSESSION, 0, 0))
-#define FORWARD_WM_SIZE(h, state, cx, cy, fn)   __CRACK_VOID_F(fn,(h, WM_SIZE, (WPARAM)state, MAKELPARAM(cx, cy)))
-#define FORWARD_WM_SYSCOMMAND(h, c, x, y, fn)   __CRACK_VOID_F(fn,(h, WM_SYSCOMMAND, (WPARAM)c, MAKELPARAM(x, y)))
-
-#define HANDLE_WM_CLOSE(h, w, l, fn)            __CRACK_ZERO_F(fn,(h));
-#define HANDLE_WM_COMMAND(h, w, l, fn)          __CRACK_ZERO_F(fn,(h, SEXT_LOWORD(w), (HWND)l, HIWORD(w)))
-#define HANDLE_WM_CREATE(h, w, l, fn)           (LRESULT)((fn(h, (CREATESTRUCT *)l)) ? 0 : -1)
-#define HANDLE_WM_DESTROY(h, w, l, fn)          __CRACK_ZERO_F(fn,(h))
-#define HANDLE_WM_ENABLE(h, w, l, fn)           __CRACK_ZERO_F(fn,(h, (BOOL)w))
-#define HANDLE_WM_INITDIALOG(h, w, l, fn)       __CRACK_LONG_F(fn,(h, (HWND)w, l))
-#define HANDLE_WM_MDICASCADE(h, w, l, fn)       __CRACK_LONG_F(fn, (h, (UINT)w)
-#define HANDLE_WM_MDIDESTROY(h, w, l, fn)       __CRACK_ZERO_F(fn,(h, (HWND)w))
-#define HANDLE_WM_MDIGETACTIVE(h, w, l, fn)     __CRACK_LONG_F(fn,(h))
-#define HANDLE_WM_MDIICONARRANGE(h, w, l, fn)   __CRACK_ZERO_F(fn,(h))
-#define HANDLE_WM_MDISETMENU(h, w, l, fn)       __CRACK_LONG_F(fn,(h, (BOOL)w, (HMENU)w, (HMENU)l)
-#define HANDLE_WM_MDITILE(h, w, l, fn)          __CRACK_LONG_F(fn,(h, (UINT)w))
-#define HANDLE_WM_PAINT(h, w, l, fn)            __CRACK_ZERO_F(fn,(h))
-#define HANDLE_WM_QUERYENDSESSION(h, w, l, fn)  MAKELRESULT(fn(h), 0)
-#define HANDLE_WM_SIZE(h, w, l, fn)             __CRACK_ZERO_F(fn,(h, (UINT)w, SEXT_LOWORD(l), SEXT_HIWORD(l)))
-#define HANDLE_WM_SYSCOMMAND(h, w, l, fn)       __CRACK_ZERO_F(fn,(h, (UINT)w, SEXT_LOWORD(l), SEXT_HIWORD(l)))
-
-/* Totally disgusting! get wParam and lParam from the environment ! */
-#define HANDLE_MSG(h, message, fn) case message: return HANDLE_##message(h, wParam, lParam, fn)
-
-/* END OF windowsx.h stuff from old headers */
-/* ------------------------------------------------------------------ */
-/* BEGINNING of shellapi.h stuff from old headers */
-
-#define SE_ERR_SHARE                    26
-#define SE_ERR_ASSOCINCOMPLETE          27
-#define SE_ERR_DDETIMEOUT               28
-#define SE_ERR_DDEFAIL                  29
-#define SE_ERR_DDEBUSY                  30
-#define SE_ERR_NOASSOC                  31
-
-/* END OF shellapi.h stuff from old headers */
-/* ------------------------------------------------------------------ */
-/* From ddeml.h in old Cygnus headers */
-
-#define XCLASS_BOOL             0x1000
-#define XCLASS_DATA             0x2000
-#define XCLASS_FLAGS            0x4000
-#define XCLASS_MASK             0xfc00
-#define XCLASS_NOTIFICATION     0x8000
-#define XTYPF_NOBLOCK           0x0002
-#define XTYP_ADVDATA            0x4010
-#define XTYP_ADVREQ             0x2022
-#define XTYP_ADVSTART           0x1030
-#define XTYP_ADVSTOP            0x8040
-#define XTYP_CONNECT            0x1062
-#define XTYP_CONNECT_CONFIRM    0x8072
-#define XTYP_DISCONNECT         0x80c2
-#define XTYP_EXECUTE            0x4050
-#define XTYP_POKE               0x4090
-#define XTYP_REQUEST            0x20b0
-#define XTYP_WILDCONNECT        0x20E2
-#define XTYP_REGISTER           0x80A2
-#define XTYP_ERROR              0x8002
-#define XTYP_XACT_COMPLETE      0x8080
-#define XTYP_UNREGISTER         0x80D2
-
-#define DMLERR_DLL_USAGE        0x4004
-#define DMLERR_INVALIDPARAMETER 0x4006
-#define DMLERR_NOTPROCESSED     0x4009
-#define DMLERR_POSTMSG_FAILED   0x400c
-#define DMLERR_SERVER_DIED      0x400e
-#define DMLERR_SYS_ERROR        0x400f
-#define DMLERR_BUSY             0x4001
-#define DMLERR_DATAACKTIMEOUT   0x4002
-#define DMLERR_ADVACKTIMEOUT    0x4000
-#define DMLERR_DLL_NOT_INITIALIZED  0x4003
-#define DMLERR_LOW_MEMORY       0x4007
-#define DMLERR_MEMORY_ERROR     0x4008
-#define DMLERR_POKEACKTIMEOUT   0x400b
-#define DMLERR_NO_CONV_ESTABLISHED  0x400a
-#define DMLERR_REENTRANCY       0x400d
-#define DMLERR_UNFOUND_QUEUE_ID 0x4011
-#define DMLERR_UNADVACKTIMEOUT  0x4010
-#define DMLERR_EXECACKTIMEOUT   0x4005
-#define DDE_FACK                0x8000
-#define DDE_FNOTPROCESSED       0x0000
-
-#define DNS_REGISTER 0x0001
-#define DNS_UNREGISTER 0x0002
-#define CP_WINANSI 1004
-#define CP_WINUNICODE 1200
-#define EXPENTRY CALLBACK
-#define APPCLASS_STANDARD  0x00000000
-
-/* End of stuff from ddeml.h in old Cygnus headers */
-/* ----------------------------------------------- */
-
-#define BKMODE_LAST	(2)
-
-#define CTLCOLOR_MSGBOX		(0)
-#define CTLCOLOR_EDIT		(1)
-#define CTLCOLOR_LISTBOX	(2)
-#define CTLCOLOR_BTN		(3)
-#define CTLCOLOR_DLG		(4)
-#define CTLCOLOR_SCROLLBAR	(5)
-#define CTLCOLOR_STATIC		(6)
-#define CTLCOLOR_MAX		(7)
-
-#define META_SETMAPMODE		(0x0103L)
-#define META_SETWINDOWORG	(0x020BL)
-#define META_SETWINDOWEXT	(0x020CL)
-
-#define POLYFILL_LAST		(2)
-
-#define STATUS_WAIT_0     		(0x00000000L)
-#define STATUS_ABANDONED_WAIT_0 	(0x00000080L)
-#define STATUS_USER_APC    		(0x000000C0L)
-#define STATUS_TIMEOUT     		(0x00000102L)
-#define STATUS_PENDING     		(0x00000103L)
-#define STATUS_GUARD_PAGE_VIOLATION  	(0x80000001L)
-#define STATUS_DATATYPE_MISALIGNMENT  	(0x80000002L)
-#define STATUS_BREAKPOINT    		(0x80000003L)
-#define STATUS_SINGLE_STEP    		(0x80000004L)
-#define STATUS_IN_PAGE_ERROR    	(0xC0000006L)
-#define STATUS_ILLEGAL_INSTRUCTION  	(0xC000001DL)
-#define STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025L)
-#define STATUS_INVALID_DISPOSITION  	(0xC0000026L)
-#define STATUS_ARRAY_BOUNDS_EXCEEDED  	(0xC000008CL)
-#define STATUS_FLOAT_DENORMAL_OPERAND 	(0xC000008DL)
-#define STATUS_FLOAT_DIVIDE_BY_ZERO  	(0xC000008EL)
-#define STATUS_FLOAT_INEXACT_RESULT  	(0xC000008FL)
-#define STATUS_FLOAT_INVALID_OPERATION 	(0xC0000090L)
-#define STATUS_FLOAT_OVERFLOW   	(0xC0000091L)
-#define STATUS_FLOAT_STACK_CHECK	(0xC0000092L)
-#define STATUS_FLOAT_UNDERFLOW   	(0xC0000093L)
-#define STATUS_INTEGER_DIVIDE_BY_ZERO 	(0xC0000094L)
-#define STATUS_INTEGER_OVERFLOW   	(0xC0000095L)
-#define STATUS_PRIVILEGED_INSTRUCTION 	(0xC0000096L)
-#define STATUS_STACK_OVERFLOW   	(0xC00000FDL)
-#define STATUS_CONTROL_C_EXIT   	(0xC000013AL)
-
-#define EXCEPTION_CTRL_C
-
-#define PROCESSOR_ARCHITECTURE_INTEL 0
-#define PROCESSOR_ARCHITECTURE_MIPS  1
-#define PROCESSOR_ARCHITECTURE_ALPHA 2
-#define PROCESSOR_ARCHITECTURE_PPC   3
-
-#define FreeModule(h) FreeLibrary(h)
-#define MakeProcInstance(p,i) (p)
-#define FreeProcInstance(p) (p)
-
-#define _fmemcpy memcpy
-
-/* Used by wxwindows. */
-#define SIZEFULLSCREEN	SIZE_MAXIMIZED
-#define SIZENORMAL	SIZE_RESTORED
-#define SIZEICONIC	SIZE_MINIMIZED
-#define NPLOGPALETTE	PLOGPALETTE
-
-/* In the old winnt.h */
-#if 0
-#ifdef __ANAL__
-#define DECLARE_HANDLE(h) struct h##__ { int dummy; }; typedef struct h##__ *h
-#else
-#define DECLARE_HANDLE(h)  typedef void *h
-#endif
-DECLARE_HANDLE(HANDLE);
-#endif
-
-#ifdef __PPC__
-#define CONTEXT_CONTROL         1L
-#define CONTEXT_FLOATING_POINT  2L
-#define CONTEXT_INTEGER         4L
-#define CONTEXT_DEBUG_REGISTERS	8L
-
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
-#define CONTEXT_DEBUGGER (CONTEXT_FULL)
-
-#else /* x86 */
-/* The doc refered me to winnt.h, so I had to look... */
-#define SIZE_OF_80387_REGISTERS      80
-
-/* Values for contextflags */
-#define CONTEXT_i386    0x10000
-#define CONTEXT_CONTROL         (CONTEXT_i386 | 1)	
-#define CONTEXT_INTEGER         (CONTEXT_i386 | 2)	
-#define CONTEXT_SEGMENTS        (CONTEXT_i386 | 4)	
-#define CONTEXT_FLOATING_POINT  (CONTEXT_i386 | 8)	
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
-
-/* our own invention */
-#define FLAG_TRACE_BIT 0x100
-#define CONTEXT_DEBUGGER (CONTEXT_FULL | CONTEXT_FLOATING_POINT)
-
-#endif
-
-#define ASCIICHAR AsciiChar
-#define FAR
-#define PACKED __attribute__((packed))
-
-#define FILTER_TEMP_DUPLICATE_ACCOUNT       (0x0001)
-#define FILTER_NORMAL_ACCOUNT               (0x0002)
-#define FILTER_INTERDOMAIN_TRUST_ACCOUNT    (0x0008)
-#define FILTER_WORKSTATION_TRUST_ACCOUNT    (0x0010)
-#define FILTER_SERVER_TRUST_ACCOUNT         (0x0020)
-
-#define LOGON32_LOGON_INTERACTIVE           (0x02)
-#define LOGON32_LOGON_BATCH                 (0x04)
-#define LOGON32_LOGON_SERVICE               (0x05)
-#define LOGON32_PROVIDER_DEFAULT            (0x00)
-#define LOGON32_PROVIDER_WINNT35            (0x01)
-
-#define QID_SYNC 0xFFFFFFFF
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _GNU_H_WINDOWS32_DEFINES */

BIN
install/binw32/zip.exe


+ 0 - 175
install/cross/buildcrossbinutils

@@ -1,175 +0,0 @@
-#!/bin/sh
-
-#
-# A script to build the crossutils for a set of platforms.
-# Note:cygwin seems to like to have all platforms qualified.
-#
-
-BASE=~
-
-# where to store the built tree of binutils?
-DESTDIR=${BASE}/cross
-
-# directory where logs go
-LOGDIR=${BASE}/logs
-
-# where can I decrunch and build?
-WORKDIR=${BASE}/buildme
-
-# where is the binutils archive?
-BINUTILSPATH=~
-
-# what is it's base name?
-BINUTILSBASE=binutils
-
-# what is the version part of the archive?
-BINUTILSVERSION=2.14
-
-# is binutils archive gz or bz2? 
-BINUTILS_GZIP=no
-
-# what i6868 platform do you want/need to build for?
-MYINTEL=i686
-
-# target info, OSes per processor with "WIN" as special case
-
-BSD="freebsd netbsd openbsd"
-TARGETS_WIN="cygwin mingw32 msdosdjgpp"
-TARGETS_I386="${BSD} linux solaris darwin"
-TARGETS_X86_64="${BSD} linux"
-TARGETS_POWERPC="${BSD} linux darwin"
-TARGETS_SPARC="${BSD} linux solaris"
-#TARGETS_M68k=   
-
-
-# I use the below because my default system is dual proc.
-#EXTRAOPT=-j 4
-
-###########################################################################
-# don't edit below
-#
-#
-#
-#
-
-LD_FLAGS="${LD_FLAGS} -static"
-LDFLAGS="${LD_FLAGS} -s"
-CFLAGS="${CFLAGS} -static"
-CPPFLAGS="${CPPFLAGS} -static"
-CXXFLAGS="${CXXFLAGS} -static"
-
-#
-# Make a list of targets
-#
-
-TARGETS=""
-
-for OS in ${TARGETS_WIN}; do
-TARGETS="${TARGETS} ${MYINTEL}-${OS}"
-done;
-
-for OS in ${TARGETS_I386}; do
-TARGETS="${TARGETS} ${MYINTEL}-${OS}"
-done;
-
-for OS in ${TARGETS_X86_64}; do
-TARGETS="${TARGETS} x86_64-${OS}"
-done;
-
-for OS in ${TARGETS_POWERPC}; do
-TARGETS="${TARGETS} powerpc-${OS}"
-done;
-
-for OS in ${TARGETS_SPARC}; do
-TARGETS="${TARGETS} sparc-${OS}"
-done;
-
-for OS in ${TARGETS_M68K}; do
-TARGETS="${TARGETS} m68k-${OS}"
-done;
-
-#
-# force slash
-#
-
-DESTDIR=${DESTDIR%/}/
-WORKDIR=${WORKDIR%/}/
-LOGDIR=${LOGDIR%/}/
-BINUTILSPATH=${BINUTILSPATH%/}/
-BINUTILSARCHIVE=${BINUTILSPATH}${BINUTILSBASE}-${BINUTILSVERSION}
-MAKE=make
-
-#
-# Make sure they exist
-#
- 
-mkdir -p $DESTDIR
-mkdir -p $WORKDIR
-mkdir -p $LOGDIR
-
-#
-# BSD? -> gmake
-#
-
-SYSTEM=`uname -s`
-
-case "$SYSTEM" in
- *BSD*) MAKE=gmake
-  ;;
- *bsd*) MAKE=gmake  
-  ;;
-esac
-
-#
-# tar.gz or .tar.bz2 ?
-#
-
-if [ $BINUTILS_GZIP = "no" ] ; then
-BINUTILSARCHIVE=${BINUTILSARCHIVE}.tar.bz2
-else
-BINUTILSARCHIVE=${BINUTILSARCHIVE}.tar.gz
-fi
-
-#
-# depack or clean  dir
-#
-
-cd ${WORKDIR}
-
-if [ ! -d ${WORKDIR}${BINUTILSBASE}-${BINUTILSVERSION} ]; then
-if [ $BINUTILS_GZIP = "no" ]; then
-bzip2 -dc  $BINUTILSARCHIVE |tar xvf -       >  ${LOGDIR}log-extract
-else
-tar xvzf $BINUTILSARCHIVE  >  ${LOGDIR}log-extract
-fi
-
-if [ ! $? = 0 ]; then
-echo DECRUNCHING OF ${BINUTILSARCHIVE} failed
-exit
-fi
-else 
-echo It seams that you already have a build directory. Skipping.
-cd ${WORKDIR}${BINUTILSBASE}-${BINUTILSVERSION}
-${MAKE} clean >/dev/null
-fi
-
-cd ${WORKDIR}${BINUTILSBASE}-${BINUTILSVERSION}
-
-#
-# build loop.
-#
-
-FAILURES=""
-for a in $TARGETS; do
-if [ ! -f ${DESTDIR}bin/${a}-as ] ; then
-echo Building $a
-{ ./configure --disable-nls --disable-shared --target=$a --prefix=${DESTDIR} && ${MAKE} $(EXTRAOPT) && ${MAKE} install && ${MAKE} clean; } > ${LOGDIR}log-${a} 2>&1
-
-if [ ! $? = 0 ]; then
-echo $a FAILES!
-FAILURES="${FAILURES} ${a}"
-fi
-fi
-done;
-
-echo Failed targets:  ${FAILURES}

+ 0 - 134
install/cross/buildcrosssnaphot

@@ -1,134 +0,0 @@
-#!/bin/sh
-
-# the root of all, but using it is optional.
-CROSSTOOLSROOT=~/building
-
-CROSSTOOLSROOT=${CROSSTOOLSROOT%/}/
-
-# Some paths.
-
-# place where the 1.1.x CVS checkout is
-FPCCVS=${CROSSTOOLSROOT}cvs/devel/fpc
-
-# place where the script should store the cross-snapshot
-DESTDIR=${CROSSTOOLSROOT}/destination
-
-# place where cross archives (.a files) are stored
-BASELIBDIR=${CROSSTOOLSROOT}crosslibs
-
-# Place where logs are generated.
-LOGDIR=${CROSSTOOLSROOT}logs
-
-# Type of my mainprocessor.
-MYINTEL=i686
-
-EXTRAOPT=-gl
-
-# OSes and CPUs
-TARGETS_OS="linux freebsd linux  win32 go32v2 netbsd openbsd solaris darwin"
-TARGETS_CPU="i386 powerpc sparc"
-
-###########################################################################
-# don't edit below
-#
-#
-#
-#
-
-MYHOSTARCH=`uname -p | tr "[:upper:]" "[:lower:]"`
-MYHOSTOS=`uname -s | tr "[:upper:]" "[:lower:]"`
-echo HOST platform is ${MYHOSTARCH}-${MYHOSTOS}
-
-#
-#
-# force slash
-#
-
-FPCCVS=${FPCCVS%/}/
-DESTDIR=${DESTDIR%/}/
-LOGDIR=${LOGDIR%/}/
-BASELIBDIR=${BASELIBDIR%/}/
-
-#
-# BSD? -> ${MAKE}
-#
-
-MAKE=make
-
-case "$MYHOSTOS" in
- *BSD*) MAKE=gmake
-  ;;
- *bsd*) MAKE=gmake  
-  ;;
-esac
-
-#
-# Setup dirs
-#
-
-mkdir -p ${DESTDIR}
-mkdir -p ${LOGDIR}
-
-#
-# Real build starts here
-#
-
-cd ${FPCCVS}
-
-FAILURES=""
-
-for CPU in $TARGETS_CPU; do
-
-# CPU xlat. translate from FPC cpu designation to binutil's;
-
-MCPU=${CPU}
-if [ "${CPU}" = "i386" ]; then
-MCPU=${MYINTEL}
-fi
-
-for OS in $TARGETS_OS; do
-
-# xlat for OS
-
-MOS=${OS}
-if [ "${OS}" = "sunos" ]; then
-MOS=solaris
-fi
-
-if [ "${OS}" = "win32" ]; then
-MOS=cygwin
-fi
-
-if [ "${OS}" = "go32v2" ]; then
-MOS=msdosdjgpp
-fi
-
-dothisbuild=1
-if [ "${CPU}" = "${MYHOSTARCH}" ]; then
-if [ "${OS}" = "${MYHOSTOS}" ]; then
-dothisbuild=0
-fi
-fi
-
-if [ $dothisbuild -eq 1 ]; then
-echo Building ${CPU}-${OS}
-if [  -f ${CROSSTOOLSROOT}bin/${MCPU}-${MOS}-as ]; then
-${MAKE} clean all LIBDIR=${BASELIBDIR}/${MCPU}-${MOS} CROSSBINDIR=${CROSSTOOLSROOT}bin OS_TARGET=${OS} CPU_TARGET=${CPU} BINUTILSPREFIX=${MCPU}-${MOS}- OPT="-Xd -Xt ${EXTRAOPT}" > ${LOGDIR}snapbuild-${CPU}-${OS} 2>&1
-else
-echo can''t find binutils-${MCPU}-${OS} for FPC-${CPU}-${OS}
-fi
-if [ ! $? = 0 ]; then
-echo ${CPU}-${OS} FAILES
-FAILURES="${FAILURES} ${CPU}-${OS}"
-else
-mkdir -p ${DESTDIR}
-${MAKE} install INSTALL_PREFIX=${DESTDIR} LIBDIR=${BASELIBDIR}/${MCPU}-${MOS}  CROSSBINDIR=${CROSSTOOLSROOT}bin OS_TARGET=${OS} CPU_TARGET=${CPU} BINUTILSPREFIX=${MCPU}-${MOS}- OPT="-Xd -Xt ${EXTRAOPT}" > ${LOGDIR}snapinstalllog-${CPU}-${OS} 2>&1
-fi
-fi
-done;
-done;
-
-if [ -n ${FAILURES} ]; then
-echo platforms failed: ${FAILURES}
-fi
-

+ 0 - 46
install/debian/README.Debian.in

@@ -1,46 +0,0 @@
-The Free Pascal Compiler for Debian
-----------------------
-
-The source tree was checked out from CVS at cvs.freepascal.org with
- 'cvs -d :pserver:[email protected]:/FPC/CVS -z3 co -r %{fpccvstag} fpc'
- (password: 'cvs')
-
-The Debian Build Directory was created with 'make debcopy' and then 
-duplicated to .orig before 'dpkg-buildpackage -rfakeroot' was run.
-
-Only PDF docs are built as shipped. You may want to make the HTML files with
-tex4ht by yourself and eventually adapt the doc-base file. Building the
-documents requires at least the following values in /etc/texmf/texmf.conf:
-save_size = 10000
-
-To create a new config file for fpc (/etc/fpc.cfg) use the command:
- /usr/lib/fpc/%{fpcversion}/samplecfg /usr/lib/fpc/%{fpcversion}
-However, you should be aware that said file (/etc/fpc.cfg) is
-declared as a conffile since version 1.0.2.
-
-And, yes - this is a i386/amd64/powerpc/sparc only package currently.
-
-
-Web site and download information:
-----------------------------------
-
-The Original site is
-  http://www.freepascal.org/
-  ftp://ftp.freepascal.org/
-
-HTTP Mirrored at
-  http://www.nl.freepascal.org/
-  http://www.de.freepascal.org/
-  http://www.freepascal.sk/
-  http://gd.tuwien.ac.at/languages/pascal/fpc/www/
-  http://www.atlasz.com/freepascal/
-
-FTP Mirrored at
-  ftp://ftp.nl.freepascal.org/pub/fpc/
-  ftp://ftp.de.freepascal.org/pub/fpc/
-  ftp://ftp.us.freepascal.org/pub/fpc/
-  ftp://freepascal.stack.nl/pub/fpc/
-  ftp://ftp.epix.net/pub/languages/pascal/
-  ftp://ftp.techgnosis.net/pub/fpc/
-  ftp://ftp.fisek.com.tr/pub/fpc/
-  http://clubinfo.collegebdeb.qc.ca/nuitari/fpc/

+ 0 - 222
install/debian/changelog

@@ -1,222 +0,0 @@
-fpc (2.0.0-1) unstable; urgency=low
-
-  * New release
-
- -- Peter Vreman <[email protected]>  Thu, 08 May 2005 12:00:00 +0100
-
-fpc (1.9.8-1) unstable; urgency=low
-
-  * New release
-
- -- Peter Vreman <[email protected]>  Thu, 14 Feb 2005 12:00:00 +0100
-
-fpc (1.9.6-1) unstable; urgency=low
-
-  * New release
-
- -- Peter Vreman <[email protected]>  Thu, 31 Dec 2004 12:00:00 +0100
-
-fpc (1.9.4-5) unstable; urgency=low
-
-  * fp-compiler: needs ld, adding dependency on binutils.  (Closes: #265265)
-
- -- Carlos Laviola <[email protected]>  Thu, 12 Aug 2004 16:29:37 -0300
-
-fpc (1.9.4-4) unstable; urgency=low
-
-  * debian/control.in: Oops, forgot to update the Build-Deps for this file,
-    which generates debian/control per se.  (Closes: #263942)
-
- -- Carlos Laviola <[email protected]>  Sun,  8 Aug 2004 22:12:41 -0300
-
-fpc (1.9.4-3) unstable; urgency=low
-
-  * Package needs fpcmake to build pretty much everything, so we need to
-    build-dep on fp-utils.  Thanks to Daniel Schepler for finding the bug
-    and for Jurij Smakov's aid.  (Closes: #263942)
-  * debian/README.Debian: removes mentions to old problems with tetex, fixes
-    spelling mistakes and other minor issues.
-
- -- Carlos Laviola <[email protected]>  Fri,  6 Aug 2004 19:46:51 -0300
-
-fpc (1.9.4-2) unstable; urgency=low
-
-  * The following fixes are the work of Marco van de Voort from CVS HEAD:
-    - man/man1/ppc386.1: typo fix.  (Closes: #255960)
-    - rtl/unix/crt.pp: gotoxy/XY2Ansi fixes from.
-      (Closes: #216057, #216060)
-    - docs/linuxex, docs/dosex, docs/refex: various examples ported to
-      fpc 1.9.x's new API.
-
- -- Carlos Laviola <[email protected]>  Tue, 20 Jul 2004 15:12:05 -0300
-
-fpc (1.9.4-1) unstable; urgency=low
-
-  * This release is partly the work of Peter Vreman <[email protected]>.
-  * Acknowledging NMU.  (Closes: #221316)
-  * Made the description for the units packages more informative.
-    (Closes: #209518, #209581, #209613)
-  * Applied some patches from Marco van de Voort to CVS HEAD that fixed
-    compiling the documentation on powerpc with some adaptations of mine.
-
- -- Carlos Laviola <[email protected]>  Sat, 17 Jul 2004 21:53:03 -0300
-
-fpc (1.0.10-1.2) unstable; urgency=low
-
-  * NMU
-  * debian/control: Also had to remove build dependency on latex2html here
-    (Closes: #221316)
-
- -- Roland Stigge <[email protected]>  Thu, 12 Feb 2004 10:27:20 +0100
-
-fpc (1.0.10-1.1) unstable; urgency=low
-
-  * NMU
-  * debian/control.in: Removed Build-Depends: latex2html which moved to
-    non-free (Closes: #221316)
-
- -- Roland Stigge <[email protected]>  Sat, 20 Dec 2003 20:45:41 +0100
-
-fpc (1.0.10-1) unstable; urgency=low
-
-  * New upstream release.
-  * Acknowledging Amaya's NMU.  Thanks for the hand.  (Closes: #141439)
-  * Package dependency lists corrected.  (Closes: #84863, #155158)
-  * Example compiles correctly now.  (Closes: #174371)
-  * Fixed vanishing fpc(1) manpage if gpc is installed.  (Closes: #136283)
-  * Fixed manpage error.  (Closes: #191695)
-  * Spelling mistakes are gone.  (Closes: #124637, #124638)
-  * Both bugs (doc-base-file-references-usr-doc and debian-changelog-file-
-    contains-obsolete-user-emacs-settings, in lintian tags) were corrected
-    long ago.  (Closes: #127092)
-  * Upstream have added the AddDisk function.  (Closes: #103163)
-
- -- Carlos Laviola <[email protected]>  Sat,  2 Aug 2003 04:35:51 -0300
-
-fpc (1.0.6-2) unstable; urgency=low
-
-  * NMU for Debcamp BSP.
-  * Apply a very silly patch (Closes: #141439), which was RC. The PDF file now
-    builds.
-  * Updated versioned-build-depends-on-debhelper. 
-
- -- Amaya Rodrigo Sastre <[email protected]>  Sat, 12 Jul 2003 17:58:50 +0200
-
-fpc (1.0.6-1) unstable; urgency=low
-
-  * New upstream version.  (Closes: #154199)
-
- -- Carlos Laviola <[email protected]>  Sat, 10 Aug 2002 04:26:15 -0300
-
-fpc (1.0.4+1.0.6cvs20020228-1) unstable; urgency=low
-
-  * New upstream version.
-
- -- Peter Vreman <[email protected]>  Tue,  1 Mrt 2002 11:01:50 +0100
-
-fpc (1.0.4-2) unstable; urgency=low
-
-  * New maintainer.
-  * debian/README.Debian: Added a note on building 'pdflatex.fmt', which is
-    needed by pdflatex, in order to build the documentation in PDF format.
-  * debian/control: added latex2html, dvipdfm and tetex-extra to the
-    build-deps list.
-
- -- Carlos Laviola <[email protected]>  Wed, 29 Aug 2001 23:15:17 -0300
-
-fpc (1.0.4-1) unstable; urgency=low
-
-  * New upstream version.
-
- -- Ulf Jaenicke-Roessler <[email protected]>  Tue,  2 Jan 2001 11:01:50 +0100
-
-fpc (1.0.3-0.20001206.1) unstable; urgency=low
-
-  * Snapshot release from CVS 2000/12/06.
-  * Fixes internal compiler error on (buggy) appearance of
-    array of Date (Closes:#60720).
-  * ppc386 can be called more intuitively as fpc (Closes:#74810).
-  * Help option '-h' is (somewhat) more propagated than '-?'
-    (Closes:#74811). Furthermore, help is displayed when fpc
-    is called without any parameter.
-  * Package supports alternatives now, in order to be used as
-    "Pascal compiler" (pc) from Makefile(s) (Closes:#76615).
-
- -- Ulf Jaenicke-Roessler <[email protected]>  Wed,  6 Dec 2000 11:29:28 +0100
-
-fpc (1.0.2-1) unstable; urgency=low
-
-  * New upstream version.
-  * Maintainer field changed.
-  * Bug#60720 had already been fixed in the development tree some
-    time ago after the last upload (hence, this Closes: #60720).
-
- -- Ulf Jaenicke-Roessler <[email protected]>  Fri, 13 Oct 2000 13:11:34 +0200
-
-fpc (1.0.1-0.20000811.1) unstable; urgency=low
-
-  * Built for `official' upload. CVS as of 2000/08/11 - NMU.
-  * Update to latest version, thus Closes: #56873.
-  * Removes /usr/bin/ppc386 link upon package removal. Closes: #64403.
-  * This upload also Closes: #68801.
-  * Added Build-Depends. Hmmm, 'fp-compiler' is somehow like `the chicken
-    and the egg' story...
-
- -- Ulf Jaenicke-Roessler <[email protected]>  Fri, 11 Aug 2000 22:49:37 +0200
-
-fpc (1.0.1-0) unstable; urgency=low
-
-  * New Upstream Release
-
- -- Peter Vreman <[email protected]>  Sun, 09 Jun 2000 12:00:00 +0200
-
-fpc (0.99.13-19991013-4) unstable; urgency=low
-
-  * Fixed bashism in samplecfg (Closes: Bug#50636)
-  * Changed source-arch to 'i386' (Closes: Bug#50438)
-
- -- Mika Fischer <[email protected]>  Sat, 20 Nov 1999 22:18:11 +0100
-
-fpc (0.99.13-19991013-3) unstable; urgency=low
-
-  * Fixed bug which overwrote existing config files during an update
-    (Closes: Bug#50278)
-
- -- Mika Fischer <[email protected]>  Tue, 16 Nov 1999 23:57:36 +0100
-
-fpc (0.99.13-19991013-2) unstable; urgency=low
-
-  * Fixed bug in debian/rules (Fixes: #50096)
-
- -- Mika Fischer <[email protected]>  Sat, 13 Nov 1999 20:31:20 +0100
-
-fpc (0.99.13-19991013-1) unstable; urgency=low
-
-  * Removed fp-fv due to licensing issues.
-
- -- Mika Fischer <[email protected]>  Wed, 13 Oct 1999 19:33:30 +0200
-
-fpc (0.99.13-19991005-1) unstable; urgency=low
-
-  * New maintainer
-
- -- Mika Fischer <[email protected]>  Wed, 13 Oct 1999 19:33:13 +0200
-
-fpc (0.99.13-19991001-1) unstable; urgency=low
-
-  * New maintainer
-  * Updated to policy 3.0.1
-
- -- Joseph Carter <[email protected]>  Tue, 27 Jul 1999 18:05:05 -0700
-
-fpc (0.99.12b-1) unstable; urgency=low
-
-  * New Upstream Release
-
- -- Peter Vreman <[email protected]>  Thu, 10 Jun 1999 12:00:00 +0200
-
-fpc (0.99.12a-1) unstable; urgency=low
-
-  * Initial Release
-
- -- Peter Vreman <[email protected]>  Thu, 10 Jun 1999 12:00:00 +0200

+ 0 - 160
install/debian/control

@@ -1,160 +0,0 @@
-Source: fpc
-Section: devel
-Priority: optional
-Maintainer: Carlos Laviola <[email protected]>
-Standards-Version: 3.6.1
-Build-Depends: fp-compiler, fp-utils, debhelper (>= 4.2), tetex-bin, tetex-extra, awk, gs-common, ncurses-dev, libgpmg1-dev
-
-Package: fp-compiler
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Suggests: fp-utils, fp-docs (>= 1.9.6)
-Description: Free Pascal -- Compiler
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Some extensions are added to the language, like function overloading. Shared
- libraries can be linked and created. Basic Delphi support is already
- implemented (classes, exceptions, ansistrings). This package contains the
- command line compiler. You need at least the RTL package before you can start
- compiling anything.
-
-Package: fp-ide
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Suggests: fp-utils, fp-docs (>= 1.9.6)
-Description: Free Pascal -- IDE
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Some extensions are added to the language, like function overloading. Shared
- libraries can be linked and created. Basic Delphi support is already
- implemented (classes, exceptions, ansistrings). This package contains the
- Integrated Development Environment (IDE). The IDE has an internal compiler.
- You need at least the RTL package before you can start  compiling anything.
-
-Package: fp-utils
-Architecture: i386 powerpc sparc amd64
-Recommends: fp-compiler (= 1.9.6-1)
-Description: Free Pascal -- Utils
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains some handy utils for usage with the Free Pascal
- Compiler:
-   - ppumove     Place multiple units in a shared library
-   - ppufiles    Show needed files for units
-   - ppudump     Dump the information stored in a .ppu (unit) file
-   - fpcmake     Create Makefile from Makefile.fpc
-   - h2pas       Convert .h files to pascal units
-   - ppdep       Create a dependency file which can be used with Makefiles
-   - ptop        Source beautifier
-   - data2inc    Convert binary/text data to include files
-   - plex/pyacc  Pascal Lex/Yacc implementation
-
-Package: fp-docs
-Section: doc
-Architecture: all
-Description: Free Pascal -- Documentation
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the documentation for the Free Pascal Compiler.
- The documentation is available in HTML and in PDF.
-
-Package: fp-units-rtl
-Architecture: i386 powerpc sparc amd64
-Recommends: fp-compiler (= 1.9.6-1)
-Description: Free Pascal -- Runtime Library
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Runtime Libraries for the Free Pascal Compiler.
-
-Package: fp-units-base
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Description: Free Pascal -- base units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units for common libraries.  Some of these
- units are also required by the Free Component Library:
-  - X11 (Xlib, Xutil)
-  - NCurses
-  - ZLib
-
-Package: fp-units-fcl
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1), fp-units-base (= 1.9.6-1)
-Description: Free Pascal -- Free Component Library
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Free Component Library for the Free Pascal Compiler.
-
-Package: fp-units-fv
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Description: Free Pascal -- Free Vision units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Free Vision units for the Free Pascal Compiler.
-
-Package: fp-units-gtk
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1), fp-units-fcl (= 1.9.6-1)
-Description: Free Pascal -- GTK 1.2 units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units and examples to create
- programs with GTK 1.2.
-
-Package: fp-units-gnome1
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1), fp-units-gtk (= 1.9.6-1)
-Description: Free Pascal -- GNOME 1 units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units and examples to create
- programs for GNOME 1.
-
-Package: fp-units-db
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Description: Free Pascal -- database libraries units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units with bindings for:
-  - MySQL
-  - Interbase
-  - PostgreSQL
-  - Oracle
-  - ODBC
-  - GDBM
-  - SQLite
-  
-Package: fp-units-gfx
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1), fp-units-base (= 1.9.6-1)
-Description: Free Pascal -- graphics libraries units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units with bindings for:
-  - Forms 0.88
-  - Svgalib
-  - GGI
-  - OpenGL
-
-Package: fp-units-net
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Description: Free Pascal -- networking units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units for creating network tools:
-  - NetDB unit for TCP/IP handling
-  - LibAsync unit for easy Asynchronous IO
-
-Package: fp-units-misc
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= 1.9.6-1)
-Description: Free Pascal -- miscellaneous units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Free Pascal miscellaneous units for:
-  - Utmp
-  - PasZLib (Pascal-only zlib implementation)

+ 0 - 169
install/debian/control.in

@@ -1,169 +0,0 @@
-Source: fpc
-Section: devel
-Priority: optional
-Maintainer: Carlos Laviola <[email protected]>
-Standards-Version: 3.6.1
-Build-Depends: fp-compiler, fp-utils, debhelper (>= 4.2), tetex-bin, tetex-extra, awk, gs-common, ncurses-dev, libgpmg1-dev
-
-Package: fp-compiler
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Suggests: fp-utils, fp-docs (>= %{fpcversion})
-Description: Free Pascal -- Compiler
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Some extensions are added to the language, like function overloading. Shared
- libraries can be linked and created. Basic Delphi support is already
- implemented (classes, exceptions, ansistrings). This package contains the
- command line compiler. You need at least the RTL package before you can start
- compiling anything.
-
-Package: fp-ide
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Suggests: fp-utils, fp-docs (>= %{fpcversion})
-Description: Free Pascal -- IDE
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Some extensions are added to the language, like function overloading. Shared
- libraries can be linked and created. Basic Delphi support is already
- implemented (classes, exceptions, ansistrings). This package contains the
- Integrated Development Environment (IDE). The IDE has an internal compiler.
- You need at least the RTL package before you can start  compiling anything.
-
-Package: fp-utils
-Architecture: i386 powerpc sparc amd64
-Recommends: fp-compiler (= %{packageversion})
-Description: Free Pascal -- Utils
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains some handy utils for usage with the Free Pascal
- Compiler:
-   - ppumove     Place multiple units in a shared library
-   - ppufiles    Show needed files for units
-   - ppudump     Dump the information stored in a .ppu (unit) file
-   - fpcmake     Create Makefile from Makefile.fpc
-   - h2pas       Convert .h files to pascal units
-   - ppdep       Create a dependency file which can be used with Makefiles
-   - ptop        Source beautifier
-   - data2inc    Convert binary/text data to include files
-   - plex/pyacc  Pascal Lex/Yacc implementation
-
-Package: fp-docs
-Section: doc
-Architecture: all
-Description: Free Pascal -- Documentation
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the documentation for the Free Pascal Compiler.
- The documentation is available in HTML and in PDF.
-
-Package: fp-units-rtl
-Architecture: i386 powerpc sparc amd64
-Recommends: fp-compiler (= %{packageversion})
-Description: Free Pascal -- Runtime Library
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Runtime Libraries for the Free Pascal Compiler.
-
-Package: fp-units-base
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Description: Free Pascal -- base units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units for common libraries.  Some of these
- units are also required by the Free Component Library:
-  - X11 (Xlib, Xutil)
-  - NCurses
-  - ZLib
-
-Package: fp-units-fcl
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion}), fp-units-base (= %{packageversion})
-Description: Free Pascal -- Free Component Library
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Free Component Library for the Free Pascal Compiler.
-
-Package: fp-units-fv
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Description: Free Pascal -- Free Vision units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains the Free Vision units for the Free Pascal Compiler.
-
-Package: fp-units-gtk
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion}), fp-units-fcl (= %{packageversion})
-Description: Free Pascal -- GTK 1.2 units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units and examples to create
- programs with GTK 1.2.
-
-Package: fp-units-gtk2
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion}), fp-units-fcl (= %{packageversion})
-Description: Free Pascal -- GTK 2.x units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units and examples to create
- programs with GTK 2.x.
-
-Package: fp-units-gnome1
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion}), fp-units-gtk (= %{packageversion})
-Description: Free Pascal -- GNOME 1 units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units and examples to create
- programs for GNOME 1.
-
-Package: fp-units-db
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Description: Free Pascal -- database libraries units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units with bindings for:
-  - MySQL
-  - Interbase
-  - PostgreSQL
-  - Oracle
-  - ODBC
-  - GDBM
-  - SQLite
-  
-Package: fp-units-gfx
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion}), fp-units-base (= %{packageversion})
-Description: Free Pascal -- graphics libraries units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units with bindings for:
-  - Forms 0.88
-  - Svgalib
-  - GGI
-  - OpenGL
-
-Package: fp-units-net
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Description: Free Pascal -- networking units 
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- This package contains Free Pascal units for creating network tools:
-  - NetDB unit for TCP/IP handling
-  - LibAsync unit for easy Asynchronous IO
-
-Package: fp-units-misc
-Architecture: i386 powerpc sparc amd64
-Depends: fp-units-rtl (= %{packageversion})
-Description: Free Pascal -- miscellaneous units
- The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32/64-bit
- Pascal Compiler. It comes with a fully compatible TP 7.0 runtime library.
- Free Pascal miscellaneous units for:
-  - Utmp
-  - PasZLib (Pascal-only zlib implementation)

+ 0 - 13
install/debian/copyright

@@ -1,13 +0,0 @@
-The packages were originally put together by:
-  Peter Vreman <[email protected]>
-
-Debian maintainer:
-  Carlos Laviola <[email protected]>
-
-From sources obtained from:
-  'cvs -d :pserver:[email protected]:/FPC/CVS -z3 co -r RELEASE_1_9_4 fpc'
-  (password: 'cvs')
-
-The files and libraries are released under the terms of the GNU Library
-General Public License, which can be found in the file
-/usr/share/common-licenses/LGPL-2 on a Debian system.

+ 0 - 41
install/debian/fixdeb

@@ -1,41 +0,0 @@
-#!/bin/bash
-#
-# Create debian files from *.in files
-#
-# $1 = path to debian files
-# $2 = fpc target (i386-linux)
-# $3 = ppcXXX binary name (ppc386)
-#
-if [ $# != 3 ]; then
-  echo 'Usage : fixdeb path fpctarget ppcbin'
-  exit 1
-fi
-
-PACKAGEVERSION=`head -n 1 $1/changelog | awk '{ print $2 }' | tr -d '[()]'`
-FPCVERSION=`echo $PACKAGEVERSION | awk -F '-' '{ print $1 }'`
-DEBVERSION=`echo $PACKAGEVERSION | awk -F '-' '{ print $2 }'`
-FPCCVSTAG=`echo $FPCVERSION | awk -F '.' '{ print "RELEASE_"$1"_"$2"_"$3 }'`
-FPCTARGET="$2"
-PPCBIN="$3"
-
-# Snapshot ?
-if [ "$DEBVERSION" == "0" ]; then
-  OLDPACKAGEVERSION=$PACKAGEVERSION
-  DEBVERSION=`/bin/date --utc +%Y%m%d`
-  PACKAGEVERSION=$FPCVERSION-$DEBVERSION
-  sed s+$OLDPACKAGEVERSION+$PACKAGEVERSION+ $1/changelog > $1/changelog.tmp
-  mv $1/changelog.tmp $1/changelog
-fi
-
-echo 'PackageVersion: ' $PACKAGEVERSION
-echo 'FPCVersion    : ' $FPCVERSION
-echo 'FPCTarget     : ' $FPCTARGET
-echo 'DebVersion    : ' $DEBVERSION
-echo 'PPCBin        : ' $PPCBIN
-echo 'CVSTag        : ' $FPCCVSTAG
-
-for i in $1/*.in
-do
-  j=${i/%.in/}
-  sed -e 's/%{fpcversion}/'$FPCVERSION'/g;s/%{packageversion}/'$PACKAGEVERSION'/g;s/%{ppcbin}/'$PPCBIN'/g;s/%{fpctarget}/'$FPCTARGET'/g;s/%{fpccvstag}/'$FPCCVSTAG'/g' $i > $j
-done

+ 0 - 1
install/debian/fp-compiler.conffiles

@@ -1 +0,0 @@
-/etc/fpc.cfg

+ 0 - 9
install/debian/fp-compiler.install.in

@@ -1,9 +0,0 @@
-/etc/fpc.cfg
-/usr/bin/fpc
-/usr/lib/fpc/%{fpcversion}/ppc*
-/usr/lib/fpc/%{fpcversion}/samplecfg
-/usr/lib/fpc/%{fpcversion}/msg
-/usr/share/doc/fp-compiler
-/usr/share/man/man1/fpc.1
-/usr/share/man/man1/ppc386.1
-/usr/share/man/man5/fpc.cfg.5

+ 0 - 16
install/debian/fp-compiler.postinst.in

@@ -1,16 +0,0 @@
-#! /bin/sh
-
-set -e
-
-FPCDIR=/usr/lib/fpc/%{fpcversion}
-
-# add alternative
-update-alternatives \
-    --install /usr/bin/pc pc /usr/bin/fpc 20 \
-    --slave /usr/share/man/man1/pc.1.gz fpc.1.gz /usr/share/man/man1/fpc.1.gz
-
-# create link
-ln -sf $FPCDIR/%{ppcbin} /usr/bin/%{ppcbin}
-
-# Debhelper code
-#DEBHELPER#

+ 0 - 9
install/debian/fp-compiler.postrm.in

@@ -1,9 +0,0 @@
-#! /bin/sh
-
-FPCDIR=/usr/lib/fpc/%{fpcversion}
-
-# remove link
-rm -f /usr/bin/ppc386
-
-# Debhelper code
-#DEBHELPER#

+ 0 - 9
install/debian/fp-docs.doc-base

@@ -1,9 +0,0 @@
-Document: fpc-docs
-Title: Free Pascal Documentation
-Author: Michael van Canneyt
-Abstract: Documentation for the Free Pascal Compiler.
- .
-Section: Development
-
-Format: PDF
-Files: /usr/share/doc/fp-docs/*.pdf

+ 0 - 1
install/debian/fp-docs.install.in

@@ -1 +0,0 @@
-/usr/share/doc/fp-docs

+ 0 - 4
install/debian/fp-ide.install.in

@@ -1,4 +0,0 @@
-/usr/bin/fp
-/usr/lib/fpc/%{fpcversion}/ide
-/usr/share/doc/fp-ide
-

+ 0 - 8
install/debian/fp-units-base.install.in

@@ -1,8 +0,0 @@
-/usr/share/doc/fp-units-base
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/paszlib
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/pasjpeg
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/ncurses
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/x11
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/regexpr
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/md5

+ 0 - 9
install/debian/fp-units-db.install.in

@@ -1,9 +0,0 @@
-/usr/share/doc/fp-units-db
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/mysql
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/ibase
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/postgres
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/oracle
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/odbc
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gdbm
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/sqlite

+ 0 - 2
install/debian/fp-units-fcl.install.in

@@ -1,2 +0,0 @@
-/usr/share/doc/fp-units-fcl
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/fcl

+ 0 - 2
install/debian/fp-units-fv.install.in

@@ -1,2 +0,0 @@
-/usr/share/doc/fp-units-fv
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/fv

+ 0 - 11
install/debian/fp-units-gfx.install.in

@@ -1,11 +0,0 @@
-/usr/share/doc/fp-units-gfx
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/opengl
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/forms
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/svgalib
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/ggi
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/libgd
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/libpng
-
-/usr/bin/fd2pascal
-/usr/share/man/man1/fd2pascal.1

+ 0 - 6
install/debian/fp-units-gnome1.install.in

@@ -1,6 +0,0 @@
-/usr/share/doc/fp-units-gnome1
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/imlib
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gnome
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gconf
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/zvt

+ 0 - 4
install/debian/fp-units-gtk.install.in

@@ -1,4 +0,0 @@
-/usr/share/doc/fp-units-gtk
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gtk
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/fpgtk

+ 0 - 3
install/debian/fp-units-gtk2.install.in

@@ -1,3 +0,0 @@
-/usr/share/doc/fp-units-gtk2
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gtk2

+ 0 - 14
install/debian/fp-units-misc.install.in

@@ -1,14 +0,0 @@
-/usr/share/doc/fp-units-misc
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/utmp
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/libc
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/pthreads
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/unixutil
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/zlib
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/tcl
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/cdrom
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/bfd
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/syslog
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/gdbint
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/unzip
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/newt

+ 0 - 4
install/debian/fp-units-net.install.in

@@ -1,4 +0,0 @@
-/usr/share/doc/fp-units-net
-
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/netdb
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/libasync

+ 0 - 1
install/debian/fp-units-rtl.install.in

@@ -1 +0,0 @@
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/rtl

+ 0 - 44
install/debian/fp-utils.install.in

@@ -1,44 +0,0 @@
-/usr/bin/ppufiles
-/usr/bin/ppudump
-/usr/bin/ppumove
-/usr/bin/ppdep
-/usr/bin/ptop
-/usr/bin/rstconv
-/usr/bin/data2inc
-/usr/bin/bin2obj
-/usr/bin/delp
-/usr/bin/plex
-/usr/bin/pyacc
-/usr/bin/h2pas
-/usr/bin/h2paspp
-/usr/bin/postw32
-/usr/bin/fpcmake
-/usr/bin/fprcp
-/usr/bin/fpdoc
-/usr/bin/makeskel
-/usr/bin/unitdiff
-/usr/bin/mkxmlrpc
-/usr/lib/fpc/%{fpcversion}/units/%{fpctarget}/lexyacc
-/usr/lib/fpc/lexyacc/yylex.cod
-/usr/lib/fpc/lexyacc/yyparse.cod
-/usr/share/man/man1/bin2obj.1
-/usr/share/man/man1/data2inc.1
-/usr/share/man/man1/fprcp.1
-/usr/share/man/man1/h2paspp.1
-/usr/share/man/man1/makeskel.1
-/usr/share/man/man1/postw32.1
-/usr/share/man/man1/unitdiff.1
-/usr/share/man/man1/delp.1
-/usr/share/man/man1/fpcmake.1
-/usr/share/man/man1/h2pas.1
-/usr/share/man/man1/plex.1
-/usr/share/man/man1/ppdep.1
-/usr/share/man/man1/ppudump.1
-/usr/share/man/man1/ppufiles.1
-/usr/share/man/man1/ppumove.1
-/usr/share/man/man1/ptop.1
-/usr/share/man/man1/pyacc.1
-/usr/share/man/man1/rstconv.1
-/usr/share/man/man1/fpdoc.1
-/usr/share/man/man5/fpcmake.5
-/usr/share/man/man5/ptop.cfg.5

+ 0 - 49
install/debian/moveexamples

@@ -1,49 +0,0 @@
-#!/bin/bash
-
-set -e
-
-EXAMPLE_TEMP=$1
-DOC_DIR=$2
-
-move_examples()
-{
-    # Make examples dir
-    install -d -m 755 $DOC_DIR/fp-units-$1/examples/
-    
-    for package in $2; do
-        if [ -d $EXAMPLE_TEMP/$package/examples ]; then
-            echo "Moving examples of $package"
-            # Move dir
-            mv -f $EXAMPLE_TEMP/$package/examples $DOC_DIR/fp-units-$1/examples/
-	    # Rename dir
-	    mv -f $DOC_DIR/fp-units-$1/examples/examples $DOC_DIR/fp-units-$1/examples/$package
-            rmdir $EXAMPLE_TEMP/$package
-        fi
-    done
-}
-
-
-FCL_PACKAGES="fcl"
-FV_PACKAGES="fv"
-GTK_PACKAGES="gtk"
-GTK2_PACKAGES="gtk2"
-GNOME1_PACKAGES="imlib zvt gnome gconf"
-BASE_PACKAGES="paszlib pasjpeg regexpr ncurses md5"
-GFX_PACKAGES="forms ggi libgd svgalib opengl"
-DB_PACKAGES="ibase mysql oracle postgres gdbm odbc"
-MISC_PACKAGES="gdbint utmp syslog cdrom tcl newt"
-NET_PACKAGES="netdb"
-
-move_examples fcl "$FCL_PACKAGES"
-move_examples fv "$FV_PACKAGES"
-move_examples gtk "$GTK_PACKAGES"
-move_examples gtk2 "$GTK2_PACKAGES"
-move_examples gnome1 "$GNOME1_PACKAGES"
-move_examples base "$BASE_PACKAGES"
-move_examples gfx "$GFX_PACKAGES"
-move_examples db "$DB_PACKAGES"
-move_examples misc "$MISC_PACKAGES"
-move_examples net "$NET_PACKAGES"
-
-rmdir $EXAMPLE_TEMP
-

+ 0 - 251
install/debian/rules

@@ -1,251 +0,0 @@
-#!/usr/bin/make -f
-# debian/rules for Free Pascal
-
-# Documentation type to use pdf/html
-DOCTYPE=pdf
-
-# Detect name of new compiler, take care that debian uses amd64 instead of x86_64
-CPU_SOURCE=$(subst amd64,x86_64,$(shell dpkg-architecture -qDEB_BUILD_ARCH))
-CPU_TARGET=$(subst amd64,x86_64,$(shell dpkg-architecture -qDEB_HOST_ARCH))
-
-ifeq ($(CPU_TARGET),m68k)
-PPSUF=68k
-endif
-ifeq ($(CPU_TARGET),i386)
-PPSUF=386
-endif
-ifeq ($(CPU_TARGET),x86_64)
-PPSUF=x64
-endif
-ifeq ($(CPU_TARGET),powerpc)
-PPSUF=ppc
-endif
-ifeq ($(CPU_TARGET),alpha)
-PPSUF=axp
-endif
-ifeq ($(CPU_TARGET),arm)
-PPSUF=arm
-endif
-ifeq ($(CPU_TARGET),sparc)
-PPSUF=sparc
-endif
-
-ifneq ($(CPU_SOURCE),$(CPU_TARGET))
-PPPRE=ppcross
-else
-PPPRE=ppc
-endif
-
-PPNEW=$(PPPRE)$(PPSUF)
-
-# Reset FPC and FPCDIR if it was set
-FPC=
-FPCDIR=
-# Get Package version and FPC version out of changelog file
-PACKAGEVERSION:=$(shell head -n 1 debian/changelog | awk '{ print $$2 }' | tr -d '[()]')
-FPCVERSION:=$(shell echo $(PACKAGEVERSION) | awk -F '-' '{ print $$1 }')
-FPCTARGET=$(CPU_TARGET)-linux
-# Get directories	
-PWD:=$(shell pwd)
-BUILD_DIR=$(PWD)/debian/build
-INSTALL_DIR=$(PWD)/debian/tmp
-DOC_DIR=$(INSTALL_DIR)/usr/share/doc
-EXAMPLE_TEMP=$(DOC_DIR)/fpc-$(FPCVERSION)
-# Get utils
-NEWPP=$(PWD)/compiler/$(PPNEW)
-NEWFPDOC=$(PWD)/utils/fpdoc/fpdoc
-NEWFPCMAKE=$(PWD)/utils/fpcm/fpcmake
-# Create default options
-BUILDOPTS=PP=$(NEWPP)
-INSTALLOPTS=PP=$(NEWPP) FPCMAKE=$(NEWFPCMAKE) INSTALL_PREFIX=$(INSTALL_DIR)/usr
-
-export DH_COMPAT=2
-# export DH_VERBOSE=1
-
-###################
-# Clean
-#
-
-clean:
-	@echo "--- Cleaning"
-	dh_testdir
-	dh_testroot
-	rm -f build-arch-stamp install-arch-stamp arrange-arch-stamp
-	rm -f build-indep-stamp install-indep-stamp
-
-	rm -f debian-files-stamp
-	rm -f debian/*.files debian/*.docs debian/*.examples debian/*.postinst debian/*.postrm
-
-	$(MAKE) compiler_distclean
-	$(MAKE) rtl_distclean
-	$(MAKE) packages_distclean
-	$(MAKE) fcl_distclean
-	$(MAKE) fv_distclean
-	$(MAKE) ide_distclean
-	$(MAKE) utils_distclean
-
-	$(MAKE) -C docs clean
-
-	-(find . -name \*.a | xargs rm)
-
-	dh_clean
-
-# Cannot do that because the control-file is often needed after a cleanup
-#	rm -f debian/control
-
-
-###################
-# Debian files
-#
-
-debian-files: debian-files-stamp
-debian-files-stamp:
-	@echo "--- Creating debian files"
-	bash debian/fixdeb debian $(FPCTARGET) $(PPNEW)
-
-	touch debian-files-stamp
-
-
-###################
-# Arch packages
-#
-
-build-arch: build-arch-stamp
-build-arch-stamp: debian-files-stamp
-	@echo "--- Building"
-	dh_testdir
-
-# First make a new Compiler and RTL using a make cycle
-	$(MAKE) compiler_cycle
-	$(MAKE) rtl_clean rtl_smart $(BUILDOPTS)
-	$(MAKE) packages_base_smart $(BUILDOPTS)
-	$(MAKE) fcl_smart $(BUILDOPTS)
-	$(MAKE) fv_smart $(BUILDOPTS)
-	$(MAKE) packages_extra_smart $(BUILDOPTS)
-	$(MAKE) ide_all $(BUILDOPTS)
-	$(MAKE) utils_all $(BUILDOPTS)
-
-	touch build-arch-stamp
-
-
-install-arch: install-arch-stamp
-install-arch-stamp: build-arch-stamp debian-files-stamp
-	@echo "--- Installing"
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-
-# Specify the compiler to use so installing will use the correct versioned dir
-	$(MAKE) compiler_distinstall $(INSTALLOPTS)
-	$(MAKE) rtl_distinstall $(INSTALLOPTS)
-	$(MAKE) fcl_distinstall $(INSTALLOPTS)
-	$(MAKE) fv_distinstall $(INSTALLOPTS)
-	$(MAKE) packages_distinstall $(INSTALLOPTS)
-	$(MAKE) ide_distinstall $(INSTALLOPTS) INSTALL_DOCDIR=$(DOC_DIR)/fp-ide
-	$(MAKE) utils_distinstall $(INSTALLOPTS)
-
-# Copy examples to the correct doc dir
-	bash debian/moveexamples $(EXAMPLE_TEMP) $(DOC_DIR)
-
-# Install man pages and RTL demos and whatsnew and readme
-	$(MAKE) man_install $(INSTALLOPTS) INSTALL_PREFIX=$(INSTALL_DIR)/usr/share
-	$(MAKE) demo_install $(INSTALLOPTS) INSTALL_SOURCEDIR=$(DOC_DIR)/fp-compiler
-	$(MAKE) doc_install $(INSTALLOPTS) INSTALL_DOCDIR=$(DOC_DIR)/fp-compiler
-
-# Create fpc.cfg which is included as conffile
-	chmod 755 compiler/utils/samplecfg 
-	compiler/utils/samplecfg "/usr/lib/fpc/\$$fpcversion" $(INSTALL_DIR)/etc
-	touch install-arch-stamp
-
-
-arrange-arch: arrange-arch-stamp
-arrange-arch-stamp: install-arch-stamp debian-files-stamp
-	dh_testdir
-	dh_testroot
-	dh_install -a --sourcedir=debian/tmp --list-missing
-
-	touch arrange-arch-stamp
-
-
-###################
-# Documentation
-#
-
-build-indep: build-indep-stamp
-# We depend on the new fpdoc
-build-indep-stamp: debian-files-stamp build-arch-stamp
-	@echo "--- Building Documentation"
-	dh_testdir
-
-	$(MAKE) -C docs $(DOCTYPE) $(BUILDOPTS) FPDOC=$(NEWFPDOC) 
-
-	touch build-indep-stamp
-
-
-install-indep: install-indep-stamp
-install-indep-stamp: debian-files build-indep
-	@echo "--- Installing Documentation"
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-
-	$(MAKE) -C docs $(DOCTYPE)install $(INSTALLOPTS) INSTALL_DOCDIR=$(INSTALL_DIR)/usr/share/doc/fp-docs
-
-	touch install-indep-stamp
-
-
-###################
-# Generic
-#
-
-build: build-arch build-indep
-
-install: install-arch install-indep
-
-binary: binary-arch binary-indep 
-
-
-###################
-# Deb building
-#
-
-binary-indep: build-indep install-indep debian-files
-	@echo "--- Building: arch-indep packages"
-	dh_testdir
-	dh_testroot
-	dh_installdocs -i
-	dh_installchangelogs -i
-	dh_installchangelogs -pfp-docs logs/Changes.docs
-	dh_install -i --sourcedir=debian/tmp --list-missing
-	dh_compress -i -X.pdf
-	dh_fixperms -i
-	dh_installdeb -i
-	dh_gencontrol -i
-	dh_md5sums -i
-	dh_builddeb -i
-
-binary-arch: build-arch arrange-arch debian-files
-	@echo "--- Building: arch packages"
-	dh_testdir
-	dh_testroot
-	dh_installdocs -a
-	dh_installchangelogs -a
-
-	dh_installchangelogs -pfp-compiler logs/Changes.compiler
-	dh_installchangelogs -pfp-units-rtl logs/Changes.rtl
-	dh_installchangelogs -pfp-units-fcl logs/Changes.fcl
-	dh_installchangelogs -pfp-utils logs/Changes.utils
-
-	dh_installexamples -a
-	dh_compress -a
-	dh_fixperms -a
-	dh_installdeb -a
-	dh_shlibdeps -a
-	dh_gencontrol -a
-	dh_md5sums -a
-	dh_builddeb -a
-
-
-.PHONY: build clean binary debian-files \
-        build-arch install-arch binary-arch \
-        binary-indep

+ 0 - 42
install/doc/Makefile

@@ -1,42 +0,0 @@
-##################################
-# Man page installation for linux
-#
-
-ifndef FPC
-ifdef PP
-FPC=$(PP)
-endif
-endif
-ifndef FPC
-FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
-ifneq ($(FPCPROG),)
-FPCPROG:=$(firstword $(FPCPROG))
-FPC:=$(shell $(FPCPROG) -PB)
-ifneq ($(findstring Error,$(FPC)),)
-override FPC=ppc386
-endif
-else
-override FPC=ppc386
-endif
-endif
-override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
-override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
-
-ifndef INSTALL_PREFIX
-INSTALL_PREFIX=/usr/local
-endif
-
-ifndef INSTALL_DOCDIR
-INSTALL_DOCDIR:=$(INSTALL_PREFIX)/doc/fpc-$(shell $(FPC) -iV)
-endif 
-
-installdoc:
-	install -d -m 755 $(INSTALL_DOCDIR)
-	cp readme.txt $(INSTALL_DOCDIR)/README
-	cp whatsnew.txt $(INSTALL_DOCDIR)/NEWS
-	cp faq.htm $(INSTALL_DOCDIR)/faq.html
-	cp faq.txt $(INSTALL_DOCDIR)
-
-faq.txt: faq.html
-	lynx -dump faq.html > faq.txt
-

+ 0 - 340
install/doc/copying

@@ -1,340 +0,0 @@
-
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-        Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.

+ 0 - 41
install/doc/copying.dj

@@ -1,41 +0,0 @@
-This is the file "copying.dj".  It does not apply to any sources
-copyrighted by UCB Berkeley or the Free Software Foundation.
-
-   Copyright Information for sources and executables that are marked
-   Copyright (C) DJ Delorie
-                 24 Kirsten Ave
-                 Rochester NH  03867-2954
-
-This document is Copyright (C) DJ Delorie and may be distributed
-verbatim, but changing it is not allowed.
-
-Source code copyright DJ Delorie is distributed under the terms of the
-GNU General Public Licence, with the following exceptions:
-
-* Any existing copyright or authorship information in any given source
-file must remain intact.  If you modify a source file, a notice to that
-effect must be added to the authorship information in the source file.
-
-* binaries provided in djgpp may be distributed without sources ONLY if
-the recipient is given sufficient information to obtain a copy of djgpp
-themselves.  This primarily applies to go32.exe, emu387, stub.exe, and
-the graphics drivers.
-
-* modified versions of the binaries provided in djgpp must be
-distributed under the terms of the GPL.
-
-* objects and libraries linked into an application may be distributed
-without sources.
-
------
-
-Changes to source code copyright BSD or FSF are copyright DJ Delorie, but
-fall under the terms of the original copyright.
-
-A copy of the file "COPYING" is included with this document.  If you did not
-receive a copy of "COPYING", you may obtain one from whence this document
-was obtained, or by writing:
-      Free Software Foundation
-      675 Mass Ave
-      Cambridge, MA  02139
-      USA

+ 0 - 305
install/doc/copying.emx

@@ -1,305 +0,0 @@
-===============================================================================
-copying.emx       emx 0.9d     LICENSE                              19-Dec-1998
-===============================================================================
-                                     Copyright (c) 1990-1998 by Eberhard Mattes
-
-
-GNU General Public License (GPL)
---------------------------------
-
-emx is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-emx is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with emx; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
-
-See \emx\doc\COPYING for details.
-
-
-Exceptions
-----------
-
-As a special exception, some parts of emx can be distributed without
-source code if and only if the code has not been modified and a notice
-is included where the source code can be obtained.  This special
-exception applies to the following files:
-
-  \emx\bin\emx.exe
-  \emx\bin\emxd.exe
-  \emx\dll\emx.dll
-  \emx\dll\emxio.dll
-
-When distributing modified copies of those files, the GPL applies
-without exceptions and you have to remove all references to this
-exception from the source code and the documentation.  You must not
-change the existing Copyright notice.  If you modify a source file, a
-notice to that effect must be added to the source file.
-
-As a special exception, if you bind emxl.exe or emx.exe to an
-executable file (using emxbind), this does not cause the resulting
-executable file to be covered by the GNU General Public License.  This
-exception does not however invalidate any other reasons why the
-executable file might be covered by the GNU General Public License.
-However, if you bind a modified copy of emxl.exe or emx.exe to
-an executable file (using emxbind), you have to include source code
-for emxl.exe or emx.exe, respectively.
-
-The emx libraries are not distributed under the GPL.  Linking an
-application with the emx libraries does not cause the executable to be
-covered by the GNU General Public License.  You are allowed to change
-and copy the emx library sources if you keep the copyright message
-intact.  If you improve the emx libraries, please send your
-enhancements to the emx author (you should copyright your enhancements
-similar to the existing emx libraries).  Of course, all this does not
-apply to the libraries which are distributed under the GPL or the GNU
-Library General Public License (LGPL, see \emx\doc\COPYING.LIB) or the
-BSD license (see \emx\doc\COPYING.BSD), such as termcap.a, gpp.a and
-curses.a.
-
-Code derived from code released by the University of California,
-Berkeley, is released under the terms of \emx\doc\COPYING.BSD.  This
-applies to the libraries `bsd', `btermcap', `curses', and `db'.
-
-There is also a special exception for the GNU standard C++ library,
-libstdc++, see \emx\doc\COPYING.SCP.  This applies to stdcpp.a and
-stdcpp.lib.
-
-You are allowed to use, copy, and change the programs in \emx\sample
-if you keep the copyright message intact.  The test programs in
-\emx\test are in the public domain.
-
-Permission is granted to make and distribute verbatim copies of the
-manuals written by Eberhard Mattes provided the copyright notice is
-preserved on all copies.  If you modify those manuals, a notice to
-that effect must be added to the manual.
-
-
-Summary
--------
-
-1. Redistributing emx and GNU programs
-
-  If you redistribute emx and the GNU programs, you also have to
-  redistribute the source code:
-
-    emxdev1.zip, emxdev2.zip  ->  emxsrcd1.zip, emxsrcd2.zip
-    emxrt.zip                 ->  emxsrcr.zip
-    gnudev1.zip, gnudev2.zip  ->  gccsrc1.zip, gccsrc2.zip, gccsrc3.zip,
-                                  gdbsrc1.zip, gdbsrc2.zip, gnusrc.zip,
-                                  gbinusrc.zip
-    gnuinfo.zip               ->  gnusrc.zip
-    gppdev.zip                ->  gppsrc.zip, gccsrc1.zip, gccsrc2.zip,
-                                  gccsrc3.zip
-    gobjcdev.zip              ->  gccsrc1.zip, gccsrc2.zip, gccsrc3.zip
-
-2. Distributing applications
-
-  There are no copyright restrictions on applications created with the
-  emx tools and the GNU C compiler and linked with the emx libraries.
-  However, there are restrictions for applications linked with GNU or
-  BSD libraries.
-
-3. Distributing the emx runtime package
-
-  If you distribute emxrt.zip, you also have to redistribute
-  emxsrcr.zip.  If you electronically distribute an application which
-  requires the emx runtime package, I recommend putting a pointer to
-  emxrt.zip into the documentation instead of distributing emxrt.zip.
-  That way, users usually get the latest version of emxrt.zip.
-
-4. Distributing applications and emx.dll, emxio.dll and emx.exe
-
-  For small programs, redistributing emxrt.zip may be inconvenient.
-  You are allowed to distribute emx.dll, emxio.dll, and emx.exe with
-  your application as long as emx.dll, emxio.dll, and emx.exe have not
-  been modified.  You should include a notice in the documentation
-  which tells users where they can get the complete emx package.
-
-  Note that you can create stand-alone OS/2 applications (using the
-  -Zomf -Zsys options of GCC) which do not need emx.dll.
-
-5. Distributing modified copies
-
-  If you modify an emx tool, the GPL will apply without exception,
-  that is, you have to include full source code.  See COPYING for
-  details.  If you distribute a modified emx.dll, please choose
-  another name for the DLL to avoid compatibility problems.  For
-  instance, if someone adds feature A to emx.dll, and someone else
-  adds feature B to emx.dll, programs using feature A cannot be run
-  simultaneously with programs using feature B because only one
-  instance of any DLL can be active (either feature A or feature B
-  will be present, but not both).  If the DLLs are named emx_a.dll and
-  emx_b.dll, that problem does not arise.  The -E option of emxbind
-  selects the name of the emx DLL to use.
-
-
-Copyright
----------
-
-The emx runtime and the emx development tools are
-
-    Copyright (c) 1990-1996 by Eberhard Mattes.
-
-emxfpemu (originally known as wm-FPU-emu) is
-
-    Copyright (c) 1992-1994 by W. Metzenthen.
-
-The emx C library is
-
-    Copyright (c) 1990-1996 by Eberhard Mattes
-    Copyright (c) 1991-1993 by Kolja Elsaesser
-    Copyright (c) 1992-1993 by Steffen Haecker
-    Copyright (c) 1992-1996 by Kai Uwe Rommel
-    [...this place is reserved for your name...]
-
-The emx graphics library, the emx video library and the emx OMFLIB
-library are
-
-    Copyright (c) 1987-1996 by Eberhard Mattes
-
-DUEL has been written by Michael Golan and is in the public domain.
-
-The GNU programs and libraries, including GCC, GAS, GDB, and libg++,
-are
-
-    Copyright (c) by Free Software Foundation, Inc.
-
-The curses library (curses.a), the BSD C library (bsd.a), the BSD
-database library (db.a), and the BSD termcap library (btermcap.a) are
-
-    Copyright (c) by University of California, Berkeley
-
-
-Files
------
-
-This is an incomplete overview over the executables and libraries.  It
-is provided for your convenience only.  If the information in the
-source code contradicts this table, the information in the source code
-takes precedence.
-
-For .lib and .obj files, see the corresponding .a and .o file,
-respectively.
-
-File                    | License       | Copyright owner     | Source ZIP
-------------------------+---------------+---------------------+------------
-\emx\bin\ar.exe         | GPL           | FSF                 | gbinusrc
-\emx\bin\as.exe         | GPL           | FSF                 | gbinusrc
-\emx\bin\cc1.exe        | GPL           | FSF                 | gccsrc[123]
-\emx\bin\cc1obj.exe     | GPL           | FSF                 | gccsrc[123]
-\emx\bin\cc1plus.exe    | GPL           | FSF                 | gccsrc[123]
-\emx\bin\cpp.exe        | GPL           | FSF                 | gccsrc[123]
-\emx\bin\emx.exe        | GPL+          | em                  | emxsrcr
-\emx\bin\emxbind.exe    | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxcat.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxd.exe       | GPL+          | em                  | emxsrcr
-\emx\bin\emxdoc.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxexp.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxfpemu       | GPL           | W. Metzenthen       | emxsrcr
-\emx\bin\emxaout.exe    | GPL           | em                  | emxsrcd[12]
-\emx\bin\emximp.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxinst.cmd    | GPL           | em                  | emxdev[12]
-\emx\bin\emxl.exe       | GPL+          | em                  | emxsrcr
-\emx\bin\emxload.exe    | GPL           | em                  | emxsrcr
-\emx\bin\emxomf.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxomfar.exe   | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxomfld.exe   | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxrev.cmd     | GPL           | em                  | emxrt
-\emx\bin\emxstack.exe   | GPL           | em                  | emxsrcr
-\emx\bin\emxtsf.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\emxupd.exe     | GPL           | em                  | emxsrcd[12]
-\emx\bin\gasp.exe       | GPL           | FSF                 | gbinusrc
-\emx\bin\gcc.exe        | GPL           | FSF                 | gccsrc[123]
-\emx\bin\gdb.exe        | GPL           | FSF                 | gdbsrc[12]
-\emx\bin\gprof.exe      | BSD           | UCB                 | gbinusrc
-\emx\bin\info.exe       | GPL           | FSF                 | gnusrc
-\emx\bin\ld.exe         | GPL           | FSF                 | gbinusrc
-\emx\bin\listomf.exe    | GPL           | em                  | emxsrcd[12]
-\emx\bin\makeinfo.exe   | GPL           | FSF                 | gnusrc
-\emx\bin\nm.exe         | GPL           | FSF                 | gbinusrc
-\emx\bin\objdump.exe    | GPL           | FSF                 | gbinusrc
-\emx\bin\pmgdb.exe      | GPL           | em                  | emxsrcd[12]
-\emx\bin\size.exe       | GPL           | FSF                 | gbinusrc
-\emx\bin\strip.exe      | GPL           | FSF                 | gbinusrc
-\emx\bin\texi2dvi.cmd   | GPL           | em                  | gnuinfo
-\emx\bin\texindex.exe   | GPL           | FSF                 | gnusrc
-\emx\bin\touch.exe      | GPL           | em                  | emxsrcd[12]
-\emx\bin\updt.exe       | GPL           | em                  | emxsrcd[12]
-\emx\dll\emx.dll        | GPL+          | em                  | emxsrcr
-\emx\dll\emxio.dll      | GPL+          | em                  | emxsrcr
-\emx\dll\emxlibc.dll    | emx-lib       | em                  | emxsrcd[12]
-\emx\dll\emxlibcm.dll   | emx-lib       | em and contributors | emxsrcd[12]
-\emx\dll\emxlibcs.dll   | emx-lib       | em and contributors | emxsrcd[12]
-\emx\dll\emxwrap.dll    | emx-lib       | em and contributors | emxsrcd[12]
-\emx\dll\gppdemid.dll   | GPL           | FSF, em             | gnusrc
-\emx\lib\bsd.a          | BSD           | UCB                 | bsdsrc
-\emx\lib\btermcap.a     | BSD           | UCB                 | bsdsrc
-\emx\lib\c_alias.a      | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\c_static.a     | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\curses.a       | BSD           | UCB                 | bsdsrc
-\emx\lib\db.a           | BSD           | UCB                 | bsdsrc
-\emx\lib\emx2.a         | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\emxio.a        | emx-lib       | em                  | emxsrcr
-\emx\lib\g.a            | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\gcc.a          | emx-lib, GPL+ | em, FSF             | emxsrcd[12]
-\emx\lib\gcc_p.a        | emx-lib, GPL+ | em, FSF             | emxsrcd[12]
-\emx\lib\gpp.a          | LGPL          | FSF                 | gppsrc
-\emx\lib\graph.a        | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\m.a            | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\moddef.a       | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\omflib.a       | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\os2.a          | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\os2_p.a        | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\regexp.a       | regexp        | Henry Spencer       | emxsrcd[12]
-\emx\lib\socket.a       | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\stdpp.a        | GPL+          | FSF                 | gppsrc
-\emx\lib\termcap.a      | GPL           | FSF                 | gnusrc
-\emx\lib\tmalloc.a      | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\video.a        | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\wrap.a         | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\c.a         | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\c_app.a     | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\c_dllrt.a   | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\c_dllso.lib | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\c_import.a  | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\mt\emx.a       | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\mt\malloc1.a   | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\mt\objc.a      | GPL+          | FSF                 | gccsrc[123]
-\emx\lib\mt\sys.lib     | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\st\c.a         | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\check.a     | GPL           | Richard W.M. Jones  | gccsrc[123]
-\emx\lib\st\c_app.a     | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\c_app_p.a   | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\c_dllrt.a   | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\c_dllso.lib | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\c_import.a  | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\c_p.a       | emx-lib       | em and contributors | emxsrcd[12]
-\emx\lib\st\emx.a       | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\st\malloc1.a   | emx-lib       | em                  | emxsrcd[12]
-\emx\lib\st\objc.a      | GPL+          | FSF                 | gccsrc[123]
-\emx\lib\st\sys.lib     | emx-lib       | em                  | emxsrcd[12]
-
-
-Legend:
-
-BSD     BSD license (see \emx\doc\COPYING.BSD)
-em      Eberhard Mattes
-emx-lib emx library, see above
-FSF     Free Software Foundation, Inc
-GPL     GNU General Public License (\emx\doc\COPYING)
-GPL+    GPL with special exceptions
-LGPL    GNU Library General Public License (\emx\doc\COPYING.LIB)
-regexp  see \emx\src\regexp\COPYRIGH
-UCB     University of California, Berkeley
-
-
-------------------------- END OF COPYING.EMX -------------------------------

+ 0 - 17
install/doc/copying.fpc

@@ -1,17 +0,0 @@
-This is the file COPYING.FPC, it applies to the Free Pascal Run-Time Library 
-(RTL) and packages (packages) distributed by members of the Free Pascal 
-Development Team.
-
-The source code of the Free Pascal Runtime Libraries and packages are 
-distributed under the Library GNU General Public License 
-(see the file COPYING) with the following modification:
-
-- object files and libraries linked into an application may be
-  distributed without source code.
-
-If you didn't receive a copy of the file COPYING, contact:
-      Free Software Foundation
-      675 Mass Ave
-      Cambridge, MA  02139
-      USA
-

+ 0 - 40
install/doc/copying.rsx

@@ -1,40 +0,0 @@
--------------------------------------------------------------------------------
-    RSX : DPMI-DOS 0.9/1.0 extender for 80386+ processors
-
-    Copyright (C) 1993-1998     Rainer Schnither
-				email to [email protected]
-
-    Home FTP-server:
-    ftp: ftp.uni-bielefeld.de
-    ftp: hermes.hrz.uni-bielefeld.de
-
-    dir: /pub/systems/msdos/misc
-
--------------------------------------------------------------------------------
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License version 2 as
-    published by the Free Software Foundation.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
--------------------------------------------------------------------------------
-
-Special exception for distributing software using RSX.EXE:
-
-    The RSX.EXE binary can be distributed without sources only if:
-
-       1) you have not modified any sources for RSX.EXE
-       2) you have included this file in your distribution
-       3) you have included a notice where the source code can be obtained
-
-    You are allowed to copy some runtime information for RSX from the
-    /RSX/DOC directories.
-

+ 0 - 655
install/doc/faq.htm

@@ -1,655 +0,0 @@
-<HTML>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
-"http://www.w3.org/TR/REC-html40/loose.dtd">
-<HEAD>
-<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-<META NAME="Author" CONTENT="Free Pascal Web Team">
-<META name="description" content="Free Pascal: free 32-bit Pascal compiler for DOS, Linux, Win32 and OS/2">
-<META NAME="keywords" content="32 bit, protected mode, compiler, pascal, FPC, FPC Pascal, Free Pascal">
-<TITLE>Free Pascal - FAQ</TITLE>
-</HEAD>
-<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF8080">
-<OL>
-<!-- IDXSTART -->
-<LI><A HREF="#WhatIsFP">What is Free Pascal (FPC)?</A></LI>
-<LI><A HREF="#versions">Which versions exist, and which one should I use?</A></LI>
-<LI><A HREF="#FPandGNUPascal">Free Pascal and GNU Pascal - a comparison</A></LI>
-<LI><A HREF="#WhereToGetFP">Where can I get the compiler ?</A></LI>
-<LI><A HREF="#PortabilityTips">What are the considerations in porting</A></LI>
-<LI><A HREF="#OOP">I tried to compile my Delphi code with the Free Pascal</A></LI>
-<LI><A HREF="#HOMEWORK">I have to write a program for homework. Can you help?</A></LI>
-<LI><A HREF="#HowcanIbuildaunit">How can I build a unit?</A></LI>
-<LI><A HREF="#TurboVision">Will Free Pascal support TV (Turbo Vision) in the future?</A></LI>
-<LI><A HREF="#CompileSystemUnit">How can I compile the system unit?</A></LI>
-<LI><A HREF="#Internalerror9999">I get an internal error 9999 or 10?</A></LI>
-<LI><A HREF="#Howdoesfunctionoverloadingwork">How does function overloading work?</A></LI>
-<LI><A HREF="#HowToCallCFuncuntions">How can I call C functions?</A></LI>
-<LI><A HREF="#HowToUseGraph">How can I use the graph unit with Free Pascal?</A></LI>
-<LI><A HREF="#WrongColors">Why do I get wrong colors when using the graph unit?</A></LI>
-<LI><A HREF="#IntegratedAssemblerSyntax">Integrated Assembler syntax</A></LI>
-<LI><A HREF="#HowToAccessDosMemory">How can I access DOS memory / How can I do graphics programming?</A></LI>
-<LI><A HREF="#FPwithoutfpu">How can I run Free Pascal without a math coprocessor?</A></LI>
-<LI><A HREF="#AccessingMoreThan4MB">How do I reserve more than 2 megabytes of RAM?</A></LI>
-<LI><A HREF="#accessioports">How can I access I/O ports?</A></LI>
-<LI><A HREF="#ImusingWin95">I'm using the Dos compiler under Windows 95</A></LI>
-<LI><A HREF="#ImusingOS2">I'm using OS/2</A></LI>
-<LI><A HREF="#dpmi">INSTALL.EXE of Dos version 0.99.10 reports "Load error: no DPMI"</A></LI>
-<LI><A HREF="#instal10NT">INSTALL.EXE of version 1.0 for Dos returns an error (-2) in Windows NT 4.0</A></LI>
-<LI><A HREF="#instal106os2">INSTALL.EXE of version 1.0.6 or below returns an unknown error (-1) under OS/2</A>
-<BR>or<BR>
-<A HREF="#instal106os2">INSTALL.EXE of version 1.0.6 or above complains about missing TZ variable under OS/2</A></LI>
-<LI><A HREF="#snapshot">I want a new version NOW</A></LI>
-<LI><A HREF="#ideinst">Where can I find a text mode IDE?</A></LI>
-<LI><A HREF="#ideconfig">How do I configure the Dos IDE?</A></LI>
-<LI><A HREF="#binariesbig">Why are the generated binaries so big?</A></LI>
-<LI><A HREF="#systemnotfound">Unit system, syslinux, sysos2 or syswin32 not found errors</A></LI>
-<LI><A HREF="#KnownBugs">Known bugs</A></LI>
-<LI><A HREF="#ErrorPos">How can I find where an error occurred using the addresses a crashed program prints?</A></LI>
-<!-- IDXEND -->
-</OL>
-<OL>
-<LI><A NAME="WhatIsFP"></A><H3>What is Free Pascal (FPC)?</H3>
-<P>
-Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit Turbo
-Pascal compatible Pascal compiler for DOS, Linux, Win32, OS/2 and (based on
-an older version) the AmigaOS. More operating systems (BeOS and FreeBSD/ELF are in
-advanced stages of development) are in the works.
-</P>
-<P>
-The compiler is written in Pascal and is able to compile its own sources.
-The source files are included.
-</P>
-<P>
-Free Pascal is modest regarding its minimal system requirements (386-25 Mhz for
-the Intel version and ideally a 68020 processor for the Motorola
-version). At least 2 megabytes of RAM are required. To remake the compiler
-more than 16MB is recommended.
-</P>
-<p>
-Short history:
-<UL>
-<LI>6/1993: project start
-<LI>10/1993: first little programs work
-<LI>3/1995: the compiler compiles the own sources
-<LI>3/1996: released to the internet
-<LI>7/2000: 1.0 version
-</UL> 
-</p>
-<LI><A NAME="versions"></A><H3>Which versions exist, and which one should I use?</H3>
-<p>
-FPC's version numbering changed a few times over the years. Versions before 0.99.5 are considered archaic.
-After the release of 0.99.5 a system in version numbering was introduced, and that system was changed slightly changed after the
-1.0 release.
-</p>
-<b>Versioning for versions 0.99.5 - 1.0</b>
-<P>
-Compilers with an <b>even</b> last number are <b>release</b> versions(e.g. 0.99.8, 0.99.10, 0.99.12, 0.99.14 1.0.0)<br>
-Compilers and packages with an <b>odd</b> last number are <b>development</b> versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15)
-</P>
-<P>
-0.99.5 is an exception to this rule, since <b>0.99.5 IS a release</b> (a release prior to the introduction of this odd/even system).
-</P>
-<P>
-Letters behind the version number (0.99.12b, 0.99.5d) indicate release versions with some bugs and problems in the original release 
-(respectively 0.99.12 and 0.99.5) fixed.
-</P>
-<p>
-<b>Versioning after 1.0</b>
-</p>
-<P>
-Together with the release of 1.0 the version numbering has been slightly changed, 
-and a system in versioning resembling the Linux kernel's has been introduced.
-The main difference is that the difference between a release version is now in the 
-second number (1.0.x vs 1.1.x) instead of the third number (0.99.14 vs 0.99.15), and
-the third number now becomes the patch level, replacing the postfixed letter in the old system.
-</p>
-<p>
-<ul>
-<li>Releases that only fix bugs in version 1.0 will be numbered 1.0.x</li>
-<li>New development (the so called snapshots) have version number 1.1.x. The meaning
-of the third version number x in the new development branch is not defined yet, it could be used for test releases or to signal major changes. </li>
-<li>Eventually the 1.1.x versions, when stabilized will be released as version 1.2. Fixes on the 1.2 release will be numbered 1.2.x</lI>
-<li>The new development after the 1.2 release will be numbered 1.3.x and so on</li>
-<li>When really big changes are implemented, the version will be updated in the major number. This could be case with
-e.g. a codegenerator rewrite with support for other processors</li>
-</ul>
-</P
-<P>
-Normally you would want to use a release. Releases are considered stable, and
-easier to support (the bugs, quirks and unintended &quot;features&quot; are well
-known after a period of time, and workarounds exist). 
-</P>
-<P>
-Development snapshots (which are generated daily) reflect the current status of the compiler.
-Development versions probably have new features and larger bugs fixed since the last release,
-but might have some temporary stability drawbacks (which are usually fixed by the next day). 
-</P>
-<P>
-Most support for development snapshots are basically the advise to
-upgrade to newer snapshot in which the bugs are hopefully fixed.
-Since version 0.99.8 the stability of the compiler steadily increased
-and development snapshots are often quite useful for certain categories of users. Ask in the maillists if it  
-is worth the trouble in your case if you're not sure.
-</P>
-<P>
-<b>The current release version is 1.00</b> for the OS/2, Linux, Windows and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems (Amiga and Atari ST).
-The development versions (snapshots) are numbered 1.1.x at the moment</b>
-</p>
-<p>
-We advise all users to upgrade to the newest version for their target. (1.0 for intel processors, and 0.99.5d for Motorola)
-</P>
-<LI><A NAME="FPandGNUPascal"></A><H3>Free Pascal and GNU Pascal - a comparison</H3>
-<DL>
-<DT><B>Aim:</B></DT>
-<DD>Free Pascal tries to implement a Borland compatible pascal compiler
-on as many platforms as possible. GNU Pascal tries to implement a portable
-pascal compiler based on POSIX.</DD>
-<DT><B>Version:</B></DT>
-<DD>Currently, Free Pascal is at version 1.00 for the Intel version
-and version 0.99.5d for the Motorola/Intel version. Version 0.99.5d differs
-from version 0.99.5 in that all run time library fixes have been
-applied, as well as all known code generation bugs. Version 1.00
-differs from version 0.99.5d in that all parser bugfixes have also
-been applied and also a lot of Delphi 2 and Delphi 3 extensions have
-been implemented. GNU Pascal is at version 2.8.1 (but this numbering is
-not really an indication, it follows the GNU
-C numbering, since it is a derivation of it)</DD>
-<DT><B>Operating systems:</B></DT>
-<DD>Free pascal runs on a limited number of systems : DOS, Win32, Linux,
-OS/2 and AmigaOS and is for the moment limited to the Intel and Motorola
-architectures. GNU Pascal runs basically on any system that can run GNU C.
-</DD>
-<DT><B>Sources:</B></DT>
-<DD>Free Pascal is entirely written in Pascal (about 6 Mb of source code),
-while GNU Pascal is written in C (it's an adaptation of the GNU C compiler:
-2.8 Mb code + 8 MB of GNU C code)</DD>
-<DT><B>Language:</B></DT>
-<DD>Free Pascal supports the Borland Pascal dialect Borland, and implements
-the Delphi Object Pascal language. GNU Pascal supports ISO 7185, ISO 10206,
-(most of) Borland Pascal 7.0</DD>
-<DT><B>Extensions:</B></DT>
-<DD>Free Pascal implements method, function and operator overloading.
-GNU Pascal implements operator overloading.</DD>
-<DT><B>License:</B></DT>
-<DD>Both compilers come under the GNU GPL.</DD>
-<DT><B>Author:</B></DT>
-<DD>Free Pascal was started by Florian Klaempfl, Germany ([email protected]),
-GNU Pascal was started by Jukka Virtanen, Finland ([email protected]).</DD>
-</DL>
-<BR>
-<LI><A NAME="WhereToGetFP"></A><H3>Where can I get the compiler ?</H3>
-<P>
-Free Pascal is available for download from all <A HREF="download.html"> official mirrors</A>
-</P>
-<LI><A NAME="PortabilityTips"></A><H3>What are the considerations in porting
-code to other processors?</H3>
-<P>
-Because the compiler now supports processors other than the Intel, it is
-important to take a few precautions so that your code will execute
-correctly on all processors.
-</P>
-<UL>
-<LI>Limit your use of asm statements unless it is time critical code</LI>
-<LI>Don't use the packed directive unless you know exactly what you are
-doing. Most processors require alignment of data, and using packed on
-objects,classes and records may break this requirement. If this is the
-case your code will simply crash on the target processors.</LI>
-<LI>Clean up at the end of your program, i.e. close all files on exit,
-as some operating systems don't like it when some files are left opened. </LI>
-<LI>Try not to rely on the endian of the specific machines when doing
-arithmetic operations. Furthermore, reading and writing of binary data
-to/from files will probably require byte swaps across different endian
-machines (swap is your friend in this case). This is even more important
-if you write binary data to files. </LI>
-<LI>Try limiting your local variables in subroutines to 32K, as this
-is the limit of some processors, use dynamic allocation instead. </LI>
-<LI>Try limiting the size of parameters passed to subroutines to 32K,
-as this is the limit of some processors, use const or var parameters
-instead. </LI>
-</UL><BR>
-<LI><A NAME="OOP"></A><H3>I tried to compile my Delphi code with the Free Pascal
-Compiler, but it seems that it doesn't recognize Delphi style OOP.</H3>
-<P>
-The compiler supports the Delphi OOP. Make sure you use
-the -S2 or -Sd switches (see the manuals for the meaning of these switches).
-For a list of Delphi incompabilities also check the manual.
-</P>
-<LI><A NAME="HOMEWORK"></A><H3>I have to write a program for homework. Can you help?</H3>
-<P>
-No. Please, don't send us mail about homework, we are no teachers.
-The Free Pascal development team tries to give good support for the Free
-Pascal compiler and are trying to always reply to emails. If we get
-emails like this, this becomes harder and harder.
-</P>
-<LI><A NAME="HowcanIbuildaunit"></A><H3>How can I build a unit?</H3>
-<P>
-It works like in Turbo Pascal. The first keyword in the file must be
-UNIT (not case sensitive). The compiler will generate two files: <TT>XXX.PPU</TT>
-and <TT>XXX.O</TT>. The PPU file contains the interface information for
-the compiler and the O-file the machine code (an object file, whose precise
-structure depends on the assembler you used). To use this unit in another
-unit or program, you must include its name in the USES clause of your program.
-</P>
-<LI><A NAME="TurboVision"></A><H3>Will Free Pascal support TV (Turbo Vision) in the future?</H3>
-<P>
-A Turbo Vision port, called Free Vision, has progressed nicely lately. It's
-already very usable, we are even writing an IDE in it. Due to copyrights
-problem the FreeVision source code is not available at the moment. You can
-download the IDE from the <A HREF="develop.html#snapshot">development</A> page. and get an idea of the look and feel though.
-</P>
-<LI><A NAME="CompileSystemUnit"></A><H3>How can I compile the system unit?</H3>
-<P>
-To recompile the system unit, it is recommended to have GNU make installed.
-typing 'make' in the rtl source directory will then recompile all RTL units
-including the system unit.
-You may choose to descend into the directory of your OS (e.g. rtl/go32v2)
-and do a 'make' there.
-</P>
-<P>
-It is possible to do all this manually, but you need more detailed knowledge
-of the RTL tree structure for that.
-</P>
-<LI><A NAME="Internalerror9999"></A><H3>I get an internal error 9999 or 10?</H3>
-<P>
-The latest versions of the Free Pascal Compiler come with an error handling
-routine which catches the segmentation fault and lets the compiler to exit
-gracefully. This is reported as an internal error 9999.
-Please try to reproduce the error and send <A HREF="bugs.html">us</A>
-a bug report.
-</P>
-<P>
-(For the curious, IE 9999 is not a specific bug. It is a safety measure which
-terminates if during compiling a certain condition is not met, which can be
-caused by several bugs. So if you report the bug, and get IE 9999 later in
-a different piece or part of sourcecode, it could be a completely different
-bug. <b>IE 10</b> is something similar. It is a safety measure that is triggered
-when the estimated number of registers needed to evaluate an expression proves 
-wrong. Just like IE 9999, two IE 10 problems are often independant of eachother.)
-</P>
-<LI><A NAME="Howdoesfunctionoverloadingwork"></A><H3>How does function overloading work?</H3>
-<P>
-function overloading is implemented, like in C++:
-</P>
-<PRE>
-procedure a(i : integer);
-begin
-end;
-procedure a(s : string);
-begin
-end;
-begin
-a('asdfdasf');
-a(1234);
-end.
-</PRE>
-<P>
-You must be careful. If one of your overloaded functions is in the interface
-part of your unit, then all overloaded functions must be in the interface
-part. If you leave one out, the compiler will complain with a 'This overloaded
-function can't be local' message. Overloaded functions must differ in their
-parameters, it's not enough if their return types are different.
-</P>
-<LI><A NAME="HowToCallCFuncuntions"></A><H3>How can I call C functions?</H3>
-<P>
-C calling convention is implemented as follows: The compiler pushes
-the parameters from right to left, but the procedure has to clear the stack.
-For calling the C function strcmp declare the following:
-</P>
-<PRE>
-function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
-Since 0.99.5, the older [C]; won't work!
-</PRE>
-<LI><A NAME="HowToUseGraph"></A><H3>How can I use the graph unit with Free Pascal?</H3>
-<P>
-Since 0.99.12, the graph unit is available both for Dos and Linux. Under Dos,
-it only supported VESA modes though. Since version 0.99.14, a new more system
-independant graph unit is included (although the only extra supported OS is
-Win32 and this is only rudimentary support) which also supports standard VGA.
-</P>
-<P>
-Since version 1.0, we also have a completely platform independent way of selecting
-resolutions and bitdepths. You are strongly encouraged to use it, because other ways
-will probably fail on one or other platform. See the documentation of the graph unit
-for more information.
-<LI><A NAME="WrongColors"></A><H3>Why do I get wrong colors when using the graph unit?</H3>
-<P>
-If you use <TT>detect</TT> as graphdriver, you will end up with the highest supported
-bitdepth. Since the graph unit currently only supports up to 16 bits per pixel modes and
-since this bitdepth is supported by all graphics cards made in at least the last 5 years, you
-will most likely get a 16 bit mode.
-</P>
-<P>
-The main problem is that in 16 (and 15, 24, 32, ...) bit modes, the colors aren't set anymore
-using an index in a palette (the palettized way is called "indexed color"). In these modes, the
-color number itself determines what color you get on screen and you can't change this color. The
-color is encoded as follows (for most graphics cards on PC's at least):
-</P>
-<UL>
-<LI>15 bit color: lower 5 bits are blue intensity, next come 5 bits of green and then 5 bits of red. The
-highest bit of the word is ignored.
-<LI>16 bit color: lower 5 bits are blue intensite, next come *6* bits of green and then 5 bits of red.
-</UL>
-<P>
-This means that either you have to rewrite your program so it can work with this so-called "direct color"
-scheme, or that you have to use <TT>D8BIT</TT> as graphdriver and <TT>DetectMode</TT> as graphmode. This will ensure that
-you end up with a 256 (indexed) color mode. If there are no 256 color modes supported, then graphresult
-will contain the value <TT>GrNotDetected</TT> after you called InitGraph and you can retry with graphdriver <TT>D4BIT</TT>. Make sure you use
-the constant names (D8BIT, D4BIT, ...) and not their actual numeric values, because those values can
-change with the next release! That the very reason why such symbolic constants exist.
-</P>
-<LI><A NAME="IntegratedAssemblerSyntax"></A><H3>Integrated Assembler syntax</H3>
-<P>
-The default assembler syntax (AT&amp;T style) is different from the
-one in Borland Pascal (Intel style).
-</P>
-<P>
-However, as of version 0.99.0, the
-compiler supports Intel style assembly syntax.
-See the documentation for more info on how to use different assembler styles.
-</P>
-<P>
-A description of the AT&amp;T syntax can be found in the DJGPP FAQ <A HREF="http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax">http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax</A>
-or in Brennan's Guide to Inline Assembly <A HREF="http://www.rt66.com/%7Ebrennan/djgpp/djgpp&nbsp;asm.html">http://www.rt66.com/%7Ebrennan/djgpp/djgpp&nbsp;asm.html</A>.
-The documentation also contains a chapter where the difference between
-the Intel and AT&amp;T style assembly is explained.
-</P>
-<P>
-Or you can use the convertor program at <A HREF="http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip">http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip
-</A>.
-</P>
-<LI><A NAME="HowToAccessDosMemory"></A><H3>How can I access DOS memory / How can I do graphics programming?</H3>
-<P>
-You can do like in TP, via absolute or mem[]. For larger memory blocks use the
-dosmemput/dosmemget routines in Go32 unit.
-</P>
-<LI><A NAME="FPwithoutfpu"></A><H3>How can I run Free Pascal without a math coprocessor?</H3>
-<P>
-On the Intel version the emulator is automatically loaded by the compiler
-if you add the following commands to your autoexec.bat:
-</P>
-<P>
-<PRE>
-SET 387=N
-SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
-</PRE>
-(don't forget to replace the <TT>C:\PP</TT> with the directory where you installed FPC)
-</P>
-<LI><A NAME="AccessingMoreThan4MB"></A><H3>How do I reserve more than 2 megabytes of RAM?</H3>
-<P>
-By default Free Pascal allocates only 2MB of RAM for your application. If it just allocated all
-it could get, people running Windows would have problems as Windows would
-increase the swap file size to give the program more memory on and on,
-until the swap file drive would be full.
-</P>
-<P>
-You can specify the size of the heap with -Chxxxx. The default value
-is -Ch4000000. Try -Ch10000000, provided you got enough swap space.
-</P>
-<P>
-However, the heap size doesn't really matter anymore, since the Heap
-is able to grow: if you've used all the available heap space, the
-program will try to get more memory from the OS, so the heap is limited
-to the maximum amount of free memory provided by the OS.
-</P>
-<P>
-It is only handy if you know you will need at least a certain amount of memory.
-You can then specify this value using the -Ch parameter, so your program will
-allocate it at once on startup. This is slightly faster than growing the heap
-a number of times.
-</P>
-<LI><A NAME="accessioports"></A><H3>How can I access I/O ports?</H3>
-<P>
-With versions before 0.99.10: if you're under DOS you can use the <TT>outport*</TT> and <TT>inport*</TT>
-procedures of the go32 unit.
-</P>
-<P>
-Since version 0.99.8, the Port array is supported like in TP, as long as you
-use the ports unit in your program (not available under Win32).
-</P>
-<P>
-I/O port access is possible under Linux, but that requires root privileges. Check
-the manuals for the IOPerm, ReadPort and WritePort procedures. (Unit Linux)
-</P>  
-<LI><A NAME="ImusingWin95"></A><H3>I'm using the Dos compiler under Windows 95</H3>
-<P>
-There is a problem with the Dos compiler and Win 95 on computers with less
-than 16 MB. First set in the properties of the DOS box the DPMI memory
-size to max value. Now try to start a demo program in the DOS box, e.g.
-HELLO (starting takes some time). If this works you will be able to get
-the compiler to work by recompiling it with a smaller heap size, perhaps
-2 or 4 MB (option -Chxxxx).
-</P>
-<LI><A NAME="ImusingOS2"></A><H3>I'm using OS/2</H3>
-<P>
-Problems have been reported that the GO32v2 compiler does not run on
-some OS/2 installations. You can use the native OS/2 compiler (strongly
-preferred solution) or maybe compile a GO32v1 compiler yourself. However,
-the GO32v2 version should generally work under OS/2 as well.
-</P>
-<LI><A NAME="dpmi"></A><H3>INSTALL.EXE of Dos version 0.99.10 reports "Load error: no DPMI"</H3>
-<p>
-The file cwsdpmi.exe is missing in the main directory of the zip archive.
-The above message pops up if no other DPMI services are available.
-Such services are for example available in a Dos window of Windows.
-You can either extract that file from basego32.zip or download it from
-<a href="http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe">
-http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe</a>.
-Put it into the same directory as install.exe and run install again.
-</p>
-<LI><A NAME="instal10NT"></A><H3>INSTALL.EXE of version 1.0 for Dos returns an error (-2) in Windows NT 4.0</H3>
-<P>
-This is caused by long file names in some of the .ZIPs of the dosversion. A new installer 
-will be generated that ignores the packages with long file names in it. Currently it is still being tested.
-Alternatively, one could use the installer from the Win32 1.0 version under NT. This has the additional benefit 
-that the archives with long filenames can be selected and installed too.
-</P>  
-<P>
-The exact cause of this problem is that a NT 4.0 dosbox doesn't support long file names for dos programs.
-Windows 95,98 and 2000 don't exhibit this problem.
-</P>  
-<P>
-<ul>
-<li>The current ZIPs on ftp have been updated with the new installer.</lI>
-<lI>Dosw32100.zip, has now default the win32 installer, and the go32v2
-installer packaged as installd.exe.
-<li>If you already downloaded one of the large Dos zips, repeated downloading 
-is not necessary, just download a new installer:<ul>
-<li><a href="ftp://ftp.freepascal.org/pub/fpc/dist/dos-1.00/separate/install.exe">Plain dos installer. For dos without a 32-bit windows loaded or OS/2</a></lI>
-<li><a href="ftp://ftp.freepascal.org/pub/fpc/dist/win32-1.00/separate/install.exe">Win32 installer, for all win32 targets (win 95,98,NT en 2000) including their dosboxes</a></li>
-</ul></lI>
-<li>If you downloaded an OS/2 version, and experience problems, you can try to download the new dos installer</lI>
-</ul>
-</P>
-<LI><A NAME="instal106os2"></A><H3>INSTALL.EXE of version 1.0.6 or below fails with an unknown error (-1) under OS/2</H3>
-<P>
-or
-</P>
-<H3>INSTALL.EXE of version 1.0.6 or above complains about missing TZ variable under OS/2</H3>
-<P>
-You are most probably using an older version of OS/2 (like OS/2 Warp 3.0)
-and don't have TZ variable in your environment. The easiest solution is to add
-"SET TZ=..." (e.g. "SET TZ=CET-1CEST,3,-1,0,7200,10,-1,0,10800,3600" for most
-of western and central Europe) line to your CONFIG.SYS, and restart OS/2.
-The proper setting for you can be found e.g. using the TZCALC tool from
-<A HREF="http://hobbes.nmsu.edu/pub/os2/apps/internet/time/time868f.zip">TIME868</A>
-package.
-</P>
-</LI>
-<LI><A NAME="snapshot"></A><H3>I want a new version NOW</H3>
-<P>
-In the time between the release of new official versions, you
-can have a look at and test developer versions (so-called "snapshots").
-Be warned though: this is work under progress, so in addition to
-old bugs fixed and new features added, this may also contain new bugs.
-</P>
-<P>
-Snapshots are generated automatically each night from the current
-source at that moment. Sometimes this may fail due to bigger changes
-not yet fully implemented. If your version doesn't work, try again one
-or two days later. You're advised not to download the GO32v1 version for Dos,
-since it's not supported any more.
-</p>
-<p>The latest snapshot can always be downloaded from the
-<a href="develop.html#snapshot">development</a> web page.
-</p>
-<p>
-To install a snapshot, extract the zip archive into the existing
-program directory of the last official version of Free Pascal (after
-making a backup of the original of course). You can also extract it into an
-empty directory and then move the files to the program directory,
-overwriting existing files. Make sure that you extract the ZIP archive
-such that the included directory structure remains intact. For example
-if you use PKUNZIP, use "pkunzip -d" instead of just "pkunzip".
-Note that snpashots also contain a new RTL which most likely can't be
-used with the previous release version, so backup your old RTL as well.
-</p>
-<LI><A NAME="ideinst"></A><H3>Where can I find a text mode IDE?</H3>
-<p>
-The development of the IDE (integrated development environment)
-is not yet finished. However a working test version of the IDE is available
-as snapshot. It requires the latest compiler snapshot be installed on
-top of the current official version for your particular platform (1.00
-for GO32v2 or Win32). So if you have not already done that, first install the latest official
-version (e.g. file dos100.zip or dos100full.zip, you find these in
-the <a href="download.html">download</a> section).
-</p>
-<p>
-Then get and extract the latest snapshot for your platform (e.g. snapshot.zip)
-into the directory containing the official version.
-Next, do the same with one of the IDE snapshots.
-For more details on where to find and how to install a snapshot,
-please see the previous FAQ item. For additional instructions
-for required IDE configuration please also read the next FAQ item.
-</p>
-<LI><A NAME="ideconfig"></A><H3>How do I configure the Dos IDE?</H3>
-<p>
-Once you have installed the IDE (see the previous FAQ item),
-it requires two configuration changes before it can compile.
-This is due to the fact that the IDE includes its own compiler;
-it does not use ppc386.exe and thus it also does not use the
-configuration in the file ppc386.cfg.
-</p>
-<p>
-Start fp.exe, select Target from the Compile menu and then check GO32v2.
-Next, choose Directories in the Otions menu and in the line "Unit directories"
-enter the path to your copy of the rtl directory, usually c:\pp\rtl\go32v2.
-If you have done everything correct and it still doesn't work,
-you may have grabbed a snapshot that has a bug; in this case
-try again one or two days later or ask for help on one of the
-<A HREF="maillist.html">mailing lists</A>.
-</p>
-<LI><A NAME="binariesbig"></A><H3>Why are the generated binaries so big?</H3>
-<p>
-There are several reasons and remedies for this:
-</p>
-<p>
-<ol>
-<li>
-<p>If you are using 0.99.12: Due to some problems with the binary writer, 0.99.12 wasn't
-released with smartlinkable RTLs. Smartlinking causes only actually used procedures,
-functions and constants to be linked in.</p>
-<p>
-You can remedy this by using a development version and creating a smartlinking
-RTL. See the <a href="makecyc.html">make cycle faq</a> or use a later release if available (0.99.14 and later do include a smartlinkable RTL). To turn on the generation of smartlinkable units, use the -Cx command line option when compiling
-your units. To turn on the linking of previously generated smarlinkable units, use the -XX (-XS in 0.99.12 and earlier) command line option when compiling a program.
-</p></li>
-<li>Normally, all symbol information is included in the resulting program (for
-easier debugging). You can remove this by using the -Xs command line
-option when compiling your program (it won't do anything when compiling
-units)</li>
-<lI>You can use UPX to pack the .EXEs (just like e.g. pklite) for Dos (GO32v2)
-and Windows targets. Look <A HREF="http://wildsau.idv.uni-linz.ac.at/mfx/upx.html">here</A> for
-more info.</lI>
-<lI>You can use LXLITE for packing EMX binaries, but you won't be able to run
-them under DOS (with extender) any more then. It might even not be possible
-to use them on lower OS/2 versions (like 2.x) depending on chosen type
-of compression. LXLITE can be found e.g. on <A HREF="http://hobbes.nmsu.edu">Hobbes</A>, search
-for LXLITE.</li></li>
-<li>Turn on optimalisations, both for supplied packages (RTL, API, FV, FCL) and for
-your own code, this will also decrease the code size. 
-</ol>
-</p>
-<LI><A NAME="systemnotfound"></A><H3>Unit system, syslinux, sysos2 or syswin32 not found errors</H3>
-<p>
-System (syslinux, sysos2 or syswin32, depending on platform) is Pascal's base unit which is implicitely used
-in all programs. This unit defines several standard procedures and structures, and must
-be found to be able to compile any pascal program by FPC.
-</p>
-<p>
-The location of the system.ppu and syslinux.o files are determined by the -Fu
-switch which can be specified commandline, but is usually in the ppc386.cfg
-configuration file.
-</p>
-<p>
-If the compiler can't find this unit there are three possible causes:
-</p>
-<ol>
-<lI>The ppc386.cfg isn't in the same path as the compiler executable (go32v2, win32 and OS/2)
-or can't be found as "/etc/ppc386.cfg" or ".ppc386.cfg" in your homedirectory (Linux). 
-<li>The ppc386.cfg doesn't contain the -Fu line, or a wrong one.
-See the <a href="makecyc.html">make cycle faq</a>, especially the chapters
-about the ppc386.cfg and the directory structure.
-<li>The files ARE found but the wrong version or platform. Correct ppc386.cfg to
-point to the right versions or reinstall the right versions (this can happen
-if you try to use a <A HREF="#snapshot">snapshot</A> compiler while the -Fu
-statemnt in the used ppc386.cfg still points to the RTL that came with the
-official release compiler).
-</ol>
-<p>
-A handy trick can be executing &quot;ppc386 programname -vt&quot;, this shows
-where the compiler is currently looking for
-the system unit's files. You might
-want to pipe this through more (Dos, OS/2, Windows) or less (Linux), since it can generate more than one screen information:
-</p>
-<P>
-<pre>
-Dos, OS/2, Windows:
-ppc386 programname -vt |more<br>
-Linux:
-ppc386 programname -vt |less<br>
-</pre>
-</P>
-<LI><A NAME="KnownBugs"></A><H3>Known bugs</H3>
-<P>
-Go to the <A HREF="bugs.html">bugs page</A>
-</P>
-<LI><A NAME="ErrorPos"></A><H3>How can I find where an error occurred using the addresses a crashed program prints?</H3>
-<OL>
-<LI>Starting with version 1.00, the easiest possibility is to recompile
-your program with -gl debugging option. This way unit LineInfo is
-automatically linked in, and the printout after a program crash then
-contains source line numbers in addition to addresses. To see RTL functions in the backtrace
-with their real name, you have to recompile the RTL with -gl too.</LI>
-<LI>For older versions, or more comprehensive checking, compile the program
-with debugging information (use the -g command line option)</LI>
-<LI>Load the program in the debugger (gdb(w) for 0.99.12b and earlier, gdbpas(w)
-for 0.99.14 and later) using
-<pre>gdb(pas)(w) --directory=&LT;src dirs&GT; myprog.exe</pre>
-Notes:
-<UL>
-<LI>Under Linux/Unix, don't add the ".exe" after myprog</LI>
-<LI>"<TT>src dirs</TT>" is a list of directories containing the source code
-files of myprog and the units it uses seperated by semi-colons (";").
-The current directory is automatically included.</LI>
-</UL>
-<LI>Once inside the debugger, you can (optionally) set the command line options
-that will be passed to your program using the command "<TT>set args &LT;option1
-option2 ...&GT;</TT>"</LI>
-<LI>To start the program, type "<TT>run</TT>" and press enter</LI>
-<LI>After the program has crashed, the address of the instruction where the crash
-occurred will be shown.
-The debugger will try to display the source code line corresponding with this
-address. Note that this can be inside a procedure of the RTL, so the source
-may not always be available and most likely the RTL wasn't compiled with
-debugging information.</LI>
-<LI>If you then type "<TT>bt</TT>" (BackTrace), the addreses in the call stack will
-be shown (the addresses of the procedures which were called before the program
-got to the current address). You can see which source code lines these present
-using the command <pre>info line *&LT;address&GT;</pre>For example:<pre>info line *0x05bd8</pre> </LI>
-</OL>
-</ol>
-<BR></TD>
-</TR>
-</TABLE>
-</BODY>
-</HTML>

+ 0 - 624
install/doc/faq.txt

@@ -1,624 +0,0 @@
-
-    1. [1]What is Free Pascal (FPC)?
-    2. [2]Which versions exist, and which one should I use?
-    3. [3]Free Pascal and GNU Pascal - a comparison
-    4. [4]Where can I get the compiler ?
-    5. [5]What are the considerations in porting
-    6. [6]I tried to compile my Delphi code with the Free Pascal
-    7. [7]I have to write a program for homework. Can you help?
-    8. [8]How can I build a unit?
-    9. [9]Will Free Pascal support TV (Turbo Vision) in the future?
-   10. [10]How can I compile the system unit?
-   11. [11]I get an internal error 9999 or 10?
-   12. [12]How does function overloading work?
-   13. [13]How can I call C functions?
-   14. [14]How can I use the graph unit with Free Pascal?
-   15. [15]Why do I get wrong colors when using the graph unit?
-   16. [16]Integrated Assembler syntax
-   17. [17]How can I access DOS memory / How can I do graphics
-       programming?
-   18. [18]How can I run Free Pascal without a math coprocessor?
-   19. [19]How do I reserve more than 2 megabytes of RAM?
-   20. [20]How can I access I/O ports?
-   21. [21]I'm using the Dos compiler under Windows 95
-   22. [22]I'm using OS/2
-   23. [23]INSTALL.EXE of Dos version 0.99.10 reports "Load error: no
-       DPMI"
-   24. [24]INSTALL.EXE of version 1.0 for Dos returns an error (-2) in
-       Windows NT 4.0
-   25. [25]INSTALL.EXE of version 1.0.6 or below returns an unknown error (-1)
-       under OS/2
-       or
-       [25]INSTALL.EXE of version 1.0.6 or above complains about missing
-       TZ variable under OS/2
-   26. [26]I want a new version NOW
-   27. [27]Where can I find a text mode IDE?
-   28. [28]How do I configure the Dos IDE?
-   29. [29]Why are the generated binaries so big?
-   30. [30]Unit system, syslinux, sysos2 or syswin32 not found errors
-   31. [31]Known bugs
-   32. [32]How can I find where an error occurred using the addresses a
-       crashed program prints?
-       
-    1. What is Free Pascal (FPC)?
-       Originally named FPK-Pascal, the Free Pascal compiler is a 32 bit
-       Turbo Pascal compatible Pascal compiler for DOS, Linux, Win32,
-       OS/2 and (based on an older version) the AmigaOS. More operating
-       systems (BeOS and FreeBSD/ELF are in advanced stages of
-       development) are in the works.
-       The compiler is written in Pascal and is able to compile its own
-       sources. The source files are included.
-       Free Pascal is modest regarding its minimal system requirements
-       (386-25 Mhz for the Intel version and ideally a 68020 processor
-       for the Motorola version). At least 2 megabytes of RAM are
-       required. To remake the compiler more than 16MB is recommended.
-       Short history:
-          + 6/1993: project start
-          + 10/1993: first little programs work
-          + 3/1995: the compiler compiles the own sources
-          + 3/1996: released to the internet
-          + 7/2000: 1.0 version
-    2. Which versions exist, and which one should I use?
-       FPC's version numbering changed a few times over the years.
-       Versions before 0.99.5 are considered archaic. After the release
-       of 0.99.5 a system in version numbering was introduced, and that
-       system was changed slightly changed after the 1.0 release.
-       Versioning for versions 0.99.5 - 1.0
-       Compilers with an even last number are release versions(e.g.
-       0.99.8, 0.99.10, 0.99.12, 0.99.14 1.0.0)
-       Compilers and packages with an odd last number are development
-       versions (e.g. 0.99.9, 0.99.11, 0.99.13, 0.99.15)
-       0.99.5 is an exception to this rule, since 0.99.5 IS a release (a
-       release prior to the introduction of this odd/even system).
-       Letters behind the version number (0.99.12b, 0.99.5d) indicate
-       release versions with some bugs and problems in the original
-       release (respectively 0.99.12 and 0.99.5) fixed.
-       Versioning after 1.0
-       Together with the release of 1.0 the version numbering has been
-       slightly changed, and a system in versioning resembling the Linux
-       kernel's has been introduced. The main difference is that the
-       difference between a release version is now in the second number
-       (1.0.x vs 1.1.x) instead of the third number (0.99.14 vs 0.99.15),
-       and the third number now becomes the patch level, replacing the
-       postfixed letter in the old system.
-          + Releases that only fix bugs in version 1.0 will be numbered
-            1.0.x
-          + New development (the so called snapshots) have version number
-            1.1.x. The meaning of the third version number x in the new
-            development branch is not defined yet, it could be used for
-            test releases or to signal major changes.
-          + Eventually the 1.1.x versions, when stabilized will be
-            released as version 1.2. Fixes on the 1.2 release will be
-            numbered 1.2.x
-          + The new development after the 1.2 release will be numbered
-            1.3.x and so on
-          + When really big changes are implemented, the version will be
-            updated in the major number. This could be case with e.g. a
-            codegenerator rewrite with support for other processors
-       Normally you would want to use a release. Releases are considered
-       stable, and easier to support (the bugs, quirks and unintended
-       "features" are well known after a period of time, and workarounds
-       exist).
-       Development snapshots (which are generated daily) reflect the
-       current status of the compiler. Development versions probably have
-       new features and larger bugs fixed since the last release, but
-       might have some temporary stability drawbacks (which are usually
-       fixed by the next day).
-       Most support for development snapshots are basically the advise to
-       upgrade to newer snapshot in which the bugs are hopefully fixed.
-       Since version 0.99.8 the stability of the compiler steadily
-       increased and development snapshots are often quite useful for
-       certain categories of users. Ask in the maillists if it is worth
-       the trouble in your case if you're not sure.
-       The current release version is 1.00 for the OS/2, Linux, Windows
-       and Dos (Go32V2) targets and 0.99.5d for the 680x0 based systems
-       (Amiga and Atari ST). The development versions (snapshots) are
-       numbered 1.1.x at the moment
-       We advise all users to upgrade to the newest version for their
-       target. (1.0 for intel processors, and 0.99.5d for Motorola)
-    3. Free Pascal and GNU Pascal - a comparison
-       
-        Aim:
-                Free Pascal tries to implement a Borland compatible
-                pascal compiler on as many platforms as possible. GNU
-                Pascal tries to implement a portable pascal compiler
-                based on POSIX.
-                
-        Version:
-                Currently, Free Pascal is at version 1.00 for the Intel
-                version and version 0.99.5d for the Motorola/Intel
-                version. Version 0.99.5d differs from version 0.99.5 in
-                that all run time library fixes have been applied, as
-                well as all known code generation bugs. Version 1.00
-                differs from version 0.99.5d in that all parser bugfixes
-                have also been applied and also a lot of Delphi 2 and
-                Delphi 3 extensions have been implemented. GNU Pascal is
-                at version 2.8.1 (but this numbering is not really an
-                indication, it follows the GNU C numbering, since it is a
-                derivation of it)
-                
-        Operating systems:
-                Free pascal runs on a limited number of systems : DOS,
-                Win32, Linux, OS/2 and AmigaOS and is for the moment
-                limited to the Intel and Motorola architectures. GNU
-                Pascal runs basically on any system that can run GNU C.
-                
-        Sources:
-                Free Pascal is entirely written in Pascal (about 6 Mb of
-                source code), while GNU Pascal is written in C (it's an
-                adaptation of the GNU C compiler: 2.8 Mb code + 8 MB of
-                GNU C code)
-                
-        Language:
-                Free Pascal supports the Borland Pascal dialect Borland,
-                and implements the Delphi Object Pascal language. GNU
-                Pascal supports ISO 7185, ISO 10206, (most of) Borland
-                Pascal 7.0
-                
-        Extensions:
-                Free Pascal implements method, function and operator
-                overloading. GNU Pascal implements operator overloading.
-                
-        License:
-                Both compilers come under the GNU GPL.
-                
-        Author:
-                Free Pascal was started by Florian Klaempfl, Germany
-                ([email protected]), GNU Pascal was started by
-                Jukka Virtanen, Finland ([email protected]).
-                
-    4. Where can I get the compiler ?
-       Free Pascal is available for download from all [33]official
-       mirrors
-    5. What are the considerations in porting code to other processors?
-       Because the compiler now supports processors other than the Intel,
-       it is important to take a few precautions so that your code will
-       execute correctly on all processors.
-          + Limit your use of asm statements unless it is time critical
-            code
-          + Don't use the packed directive unless you know exactly what
-            you are doing. Most processors require alignment of data, and
-            using packed on objects,classes and records may break this
-            requirement. If this is the case your code will simply crash
-            on the target processors.
-          + Clean up at the end of your program, i.e. close all files on
-            exit, as some operating systems don't like it when some files
-            are left opened.
-          + Try not to rely on the endian of the specific machines when
-            doing arithmetic operations. Furthermore, reading and writing
-            of binary data to/from files will probably require byte swaps
-            across different endian machines (swap is your friend in this
-            case). This is even more important if you write binary data
-            to files.
-          + Try limiting your local variables in subroutines to 32K, as
-            this is the limit of some processors, use dynamic allocation
-            instead.
-          + Try limiting the size of parameters passed to subroutines to
-            32K, as this is the limit of some processors, use const or
-            var parameters instead.
-    6. I tried to compile my Delphi code with the Free Pascal Compiler,
-       but it seems that it doesn't recognize Delphi style OOP.
-       The compiler supports the Delphi OOP. Make sure you use the -S2 or
-       -Sd switches (see the manuals for the meaning of these switches).
-       For a list of Delphi incompabilities also check the manual.
-    7. I have to write a program for homework. Can you help?
-       No. Please, don't send us mail about homework, we are no teachers.
-       The Free Pascal development team tries to give good support for
-       the Free Pascal compiler and are trying to always reply to emails.
-       If we get emails like this, this becomes harder and harder.
-    8. How can I build a unit?
-       It works like in Turbo Pascal. The first keyword in the file must
-       be UNIT (not case sensitive). The compiler will generate two
-       files: XXX.PPU and XXX.O. The PPU file contains the interface
-       information for the compiler and the O-file the machine code (an
-       object file, whose precise structure depends on the assembler you
-       used). To use this unit in another unit or program, you must
-       include its name in the USES clause of your program.
-    9. Will Free Pascal support TV (Turbo Vision) in the future?
-       A Turbo Vision port, called Free Vision, has progressed nicely
-       lately. It's already very usable, we are even writing an IDE in
-       it. Due to copyrights problem the FreeVision source code is not
-       available at the moment. You can download the IDE from the
-       [34]development page. and get an idea of the look and feel though.
-   10. How can I compile the system unit?
-       To recompile the system unit, it is recommended to have GNU make
-       installed. typing 'make' in the rtl source directory will then
-       recompile all RTL units including the system unit. You may choose
-       to descend into the directory of your OS (e.g. rtl/go32v2) and do
-       a 'make' there.
-       It is possible to do all this manually, but you need more detailed
-       knowledge of the RTL tree structure for that.
-   11. I get an internal error 9999 or 10?
-       The latest versions of the Free Pascal Compiler come with an error
-       handling routine which catches the segmentation fault and lets the
-       compiler to exit gracefully. This is reported as an internal error
-       9999. Please try to reproduce the error and send [35]us a bug
-       report.
-       (For the curious, IE 9999 is not a specific bug. It is a safety
-       measure which terminates if during compiling a certain condition
-       is not met, which can be caused by several bugs. So if you report
-       the bug, and get IE 9999 later in a different piece or part of
-       sourcecode, it could be a completely different bug. IE 10 is
-       something similar. It is a safety measure that is triggered when
-       the estimated number of registers needed to evaluate an expression
-       proves wrong. Just like IE 9999, two IE 10 problems are often
-       independant of eachother.)
-   12. How does function overloading work?
-       function overloading is implemented, like in C++:
-procedure a(i : integer);
-begin
-end;
-procedure a(s : string);
-begin
-end;
-begin
-a('asdfdasf');
-a(1234);
-end.
-       You must be careful. If one of your overloaded functions is in the
-       interface part of your unit, then all overloaded functions must be
-       in the interface part. If you leave one out, the compiler will
-       complain with a 'This overloaded function can't be local' message.
-       Overloaded functions must differ in their parameters, it's not
-       enough if their return types are different.
-   13. How can I call C functions?
-       C calling convention is implemented as follows: The compiler
-       pushes the parameters from right to left, but the procedure has to
-       clear the stack. For calling the C function strcmp declare the
-       following:
-function strcmp(s1 : pchar;s2 : pchar) : integer;cdecl;external;
-Since 0.99.5, the older [C]; won't work!
-   14. How can I use the graph unit with Free Pascal?
-       Since 0.99.12, the graph unit is available both for Dos and Linux.
-       Under Dos, it only supported VESA modes though. Since version
-       0.99.14, a new more system independant graph unit is included
-       (although the only extra supported OS is Win32 and this is only
-       rudimentary support) which also supports standard VGA.
-       Since version 1.0, we also have a completely platform independent
-       way of selecting resolutions and bitdepths. You are strongly
-       encouraged to use it, because other ways will probably fail on one
-       or other platform. See the documentation of the graph unit for
-       more information.
-   15. Why do I get wrong colors when using the graph unit?
-       If you use detect as graphdriver, you will end up with the highest
-       supported bitdepth. Since the graph unit currently only supports
-       up to 16 bits per pixel modes and since this bitdepth is supported
-       by all graphics cards made in at least the last 5 years, you will
-       most likely get a 16 bit mode.
-       The main problem is that in 16 (and 15, 24, 32, ...) bit modes,
-       the colors aren't set anymore using an index in a palette (the
-       palettized way is called "indexed color"). In these modes, the
-       color number itself determines what color you get on screen and
-       you can't change this color. The color is encoded as follows (for
-       most graphics cards on PC's at least):
-          + 15 bit color: lower 5 bits are blue intensity, next come 5
-            bits of green and then 5 bits of red. The highest bit of the
-            word is ignored.
-          + 16 bit color: lower 5 bits are blue intensite, next come *6*
-            bits of green and then 5 bits of red.
-       This means that either you have to rewrite your program so it can
-       work with this so-called "direct color" scheme, or that you have
-       to use D8BIT as graphdriver and DetectMode as graphmode. This will
-       ensure that you end up with a 256 (indexed) color mode. If there
-       are no 256 color modes supported, then graphresult will contain
-       the value GrNotDetected after you called InitGraph and you can
-       retry with graphdriver D4BIT. Make sure you use the constant names
-       (D8BIT, D4BIT, ...) and not their actual numeric values, because
-       those values can change with the next release! That the very
-       reason why such symbolic constants exist.
-   16. Integrated Assembler syntax
-       The default assembler syntax (AT&T style) is different from the
-       one in Borland Pascal (Intel style).
-       However, as of version 0.99.0, the compiler supports Intel style
-       assembly syntax. See the documentation for more info on how to use
-       different assembler styles.
-       A description of the AT&T syntax can be found in the DJGPP FAQ
-       [36]http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax or in
-       Brennan's Guide to Inline Assembly
-       [37]http://www.rt66.com/%7Ebrennan/djgpp/djgpp asm.html. The
-       documentation also contains a chapter where the difference between
-       the Intel and AT&T style assembly is explained.
-       Or you can use the convertor program at
-       [38]http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip .
-   17. How can I access DOS memory / How can I do graphics programming?
-       You can do like in TP, via absolute or mem[]. For larger memory
-       blocks use the dosmemput/dosmemget routines in Go32 unit.
-   18. How can I run Free Pascal without a math coprocessor?
-       On the Intel version the emulator is automatically loaded by the
-       compiler if you add the following commands to your autoexec.bat:
-SET 387=N
-SET EMU386=C:\PP\BIN\GO32V2\WEMU387.DXE
-       (don't forget to replace the C:\PP with the directory where you
-       installed FPC)
-   19. How do I reserve more than 2 megabytes of RAM?
-       By default Free Pascal allocates only 2MB of RAM for your
-       application. If it just allocated all it could get, people running
-       Windows would have problems as Windows would increase the swap
-       file size to give the program more memory on and on, until the
-       swap file drive would be full.
-       You can specify the size of the heap with -Chxxxx. The default
-       value is -Ch4000000. Try -Ch10000000, provided you got enough swap
-       space.
-       However, the heap size doesn't really matter anymore, since the
-       Heap is able to grow: if you've used all the available heap space,
-       the program will try to get more memory from the OS, so the heap
-       is limited to the maximum amount of free memory provided by the
-       OS.
-       It is only handy if you know you will need at least a certain
-       amount of memory. You can then specify this value using the -Ch
-       parameter, so your program will allocate it at once on startup.
-       This is slightly faster than growing the heap a number of times.
-   20. How can I access I/O ports?
-       With versions before 0.99.10: if you're under DOS you can use the
-       outport* and inport* procedures of the go32 unit.
-       Since version 0.99.8, the Port array is supported like in TP, as
-       long as you use the ports unit in your program (not available
-       under Win32).
-       I/O port access is possible under Linux, but that requires root
-       privileges. Check the manuals for the IOPerm, ReadPort and
-       WritePort procedures. (Unit Linux)
-   21. I'm using the Dos compiler under Windows 95
-       There is a problem with the Dos compiler and Win 95 on computers
-       with less than 16 MB. First set in the properties of the DOS box
-       the DPMI memory size to max value. Now try to start a demo program
-       in the DOS box, e.g. HELLO (starting takes some time). If this
-       works you will be able to get the compiler to work by recompiling
-       it with a smaller heap size, perhaps 2 or 4 MB (option -Chxxxx).
-   22. I'm using OS/2
-       Problems have been reported that the GO32v2 compiler does not run
-       on some OS/2 installations. You can use the native OS/2 compiler
-       (strongly preferred solution) or maybe compile a GO32v1 compiler
-       yourself. However, the GO32v2 version should generally work under
-       OS/2 as well.
-   23. INSTALL.EXE of Dos version 0.99.10 reports "Load error: no DPMI"
-       The file cwsdpmi.exe is missing in the main directory of the zip
-       archive. The above message pops up if no other DPMI services are
-       available. Such services are for example available in a Dos window
-       of Windows. You can either extract that file from basego32.zip or
-       download it from
-       [39]http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe. Put it
-       into the same directory as install.exe and run install again.
-   24. INSTALL.EXE of version 1.0 for Dos returns an error (-2) in
-       Windows NT 4.0
-       This is caused by long file names in some of the .ZIPs of the
-       dosversion. A new installer will be generated that ignores the
-       packages with long file names in it. Currently it is still being
-       tested. Alternatively, one could use the installer from the Win32
-       1.0 version under NT. This has the additional benefit that the
-       archives with long filenames can be selected and installed too.
-       The exact cause of this problem is that a NT 4.0 dosbox doesn't
-       support long file names for dos programs. Windows 95,98 and 2000
-       don't exhibit this problem.
-          + The current ZIPs on ftp have been updated with the new
-            installer.
-          + Dosw32100.zip, has now default the win32 installer, and the
-            go32v2 installer packaged as installd.exe.
-          + If you already downloaded one of the large Dos zips, repeated
-            downloading is not necessary, just download a new installer:
-               o [40]Plain dos installer. For dos without a 32-bit
-                 windows loaded or OS/2
-               o [41]Win32 installer, for all win32 targets (win 95,98,NT
-                 en 2000) including their dosboxes
-          + If you downloaded an OS/2 version, and experience problems,
-            you can try to download the new dos installer
-   25. INSTALL.EXE of version 1.0.6 or below fails with an unknown
-       error (-1) under OS/2
-       or
-       INSTALL.EXE of version 1.0.6 or above complains about missing
-       TZ variable under OS/2
-       You are most probably using an older version of OS/2 (like
-       OS/2 Warp 3.0) and don't have TZ variable in your environment.
-       The easiest solution is to add "SET TZ=..."
-       (e.g. "SET TZ=CET-1CEST,3,-1,0,7200,10,-1,0,10800,3600" for most
-       of western and central Europe) line to your CONFIG.SYS, and restart
-       OS/2. The proper setting for you can be found e.g. using the TZCALC
-       tool from [51]TIME868 package.
-   26. I want a new version NOW
-       In the time between the release of new official versions, you can
-       have a look at and test developer versions (so-called
-       "snapshots"). Be warned though: this is work under progress, so in
-       addition to old bugs fixed and new features added, this may also
-       contain new bugs.
-       Snapshots are generated automatically each night from the current
-       source at that moment. Sometimes this may fail due to bigger
-       changes not yet fully implemented. If your version doesn't work,
-       try again one or two days later. You're advised not to download
-       the GO32v1 version for Dos, since it's not supported any more.
-       The latest snapshot can always be downloaded from the
-       [42]development web page.
-       To install a snapshot, extract the zip archive into the existing
-       program directory of the last official version of Free Pascal
-       (after making a backup of the original of course). You can also
-       extract it into an empty directory and then move the files to the
-       program directory, overwriting existing files. Make sure that you
-       extract the ZIP archive such that the included directory structure
-       remains intact. For example if you use PKUNZIP, use "pkunzip -d"
-       instead of just "pkunzip". Note that snpashots also contain a new
-       RTL which most likely can't be used with the previous release
-       version, so backup your old RTL as well.
-   27. Where can I find a text mode IDE?
-       The development of the IDE (integrated development environment) is
-       not yet finished. However a working test version of the IDE is
-       available as snapshot. It requires the latest compiler snapshot be
-       installed on top of the current official version for your
-       particular platform (1.00 for GO32v2 or Win32). So if you have not
-       already done that, first install the latest official version (e.g.
-       file dos100.zip or dos100full.zip, you find these in the
-       [43]download section).
-       Then get and extract the latest snapshot for your platform (e.g.
-       snapshot.zip) into the directory containing the official version.
-       Next, do the same with one of the IDE snapshots. For more details
-       on where to find and how to install a snapshot, please see the
-       previous FAQ item. For additional instructions for required IDE
-       configuration please also read the next FAQ item.
-   28. How do I configure the Dos IDE?
-       Once you have installed the IDE (see the previous FAQ item), it
-       requires two configuration changes before it can compile. This is
-       due to the fact that the IDE includes its own compiler; it does
-       not use ppc386.exe and thus it also does not use the configuration
-       in the file ppc386.cfg.
-       Start fp.exe, select Target from the Compile menu and then check
-       GO32v2. Next, choose Directories in the Otions menu and in the
-       line "Unit directories" enter the path to your copy of the rtl
-       directory, usually c:\pp\rtl\go32v2. If you have done everything
-       correct and it still doesn't work, you may have grabbed a snapshot
-       that has a bug; in this case try again one or two days later or
-       ask for help on one of the [44]mailing lists.
-   29. Why are the generated binaries so big?
-       There are several reasons and remedies for this:
-         1. If you are using 0.99.12: Due to some problems with the
-            binary writer, 0.99.12 wasn't released with smartlinkable
-            RTLs. Smartlinking causes only actually used procedures,
-            functions and constants to be linked in.
-            You can remedy this by using a development version and
-            creating a smartlinking RTL. See the [45]make cycle faq or
-            use a later release if available (0.99.14 and later do
-            include a smartlinkable RTL). To turn on the generation of
-            smartlinkable units, use the -Cx command line option when
-            compiling your units. To turn on the linking of previously
-            generated smarlinkable units, use the -XX (-XS in 0.99.12 and
-            earlier) command line option when compiling a program.
-         2. Normally, all symbol information is included in the resulting
-            program (for easier debugging). You can remove this by using
-            the -Xs command line option when compiling your program (it
-            won't do anything when compiling units)
-         3. You can use UPX to pack the .EXEs (just like e.g. pklite) for
-            Dos (GO32v2) and Windows targets. Look [46]here for more
-            info.
-         4. You can use LXLITE for packing EMX binaries, but you won't be
-            able to run them under DOS (with extender) any more then. It
-            might even not be possible to use them on lower OS/2 versions
-            (like 2.x) depending on chosen type of compression. LXLITE
-            can be found e.g. on [47]Hobbes, search for LXLITE.
-         5. Turn on optimalisations, both for supplied packages (RTL,
-            API, FV, FCL) and for your own code, this will also decrease
-            the code size.
-   30. Unit system, syslinux, sysos2 or syswin32 not found errors
-       System (syslinux, sysos2 or syswin32, depending on platform) is
-       Pascal's base unit which is implicitely used in all programs. This
-       unit defines several standard procedures and structures, and must
-       be found to be able to compile any pascal program by FPC.
-       The location of the system.ppu and syslinux.o files are determined
-       by the -Fu switch which can be specified commandline, but is
-       usually in the ppc386.cfg configuration file.
-       If the compiler can't find this unit there are three possible
-       causes:
-         1. The ppc386.cfg isn't in the same path as the compiler
-            executable (go32v2, win32 and OS/2) or can't be found as
-            "/etc/ppc386.cfg" or ".ppc386.cfg" in your homedirectory
-            (Linux).
-         2. The ppc386.cfg doesn't contain the -Fu line, or a wrong one.
-            See the [48]make cycle faq, especially the chapters about the
-            ppc386.cfg and the directory structure.
-         3. The files ARE found but the wrong version or platform.
-            Correct ppc386.cfg to point to the right versions or
-            reinstall the right versions (this can happen if you try to
-            use a [49]snapshot compiler while the -Fu statemnt in the
-            used ppc386.cfg still points to the RTL that came with the
-            official release compiler).
-       A handy trick can be executing "ppc386 programname -vt", this
-       shows where the compiler is currently looking for the system
-       unit's files. You might want to pipe this through more (Dos, OS/2,
-       Windows) or less (Linux), since it can generate more than one
-       screen information:
-Dos, OS/2, Windows:
-ppc386 programname -vt |more
-
-Linux:
-ppc386 programname -vt |less
-
-   31. Known bugs
-       Go to the [50]bugs page
-   32. How can I find where an error occurred using the addresses a
-       crashed program prints?
-         1. Starting with version 1.00, the easiest possibility is to
-            recompile your program with -gl debugging option. This way
-            unit LineInfo is automatically linked in, and the printout
-            after a program crash then contains source line numbers in
-            addition to addresses. To see RTL functions in the backtrace
-            with their real name, you have to recompile the RTL with -gl
-            too.
-         2. For older versions, or more comprehensive checking, compile
-            the program with debugging information (use the -g command
-            line option)
-         3. Load the program in the debugger (gdb(w) for 0.99.12b and
-            earlier, gdbpas(w) for 0.99.14 and later) using
-gdb(pas)(w) --directory=&LT;src dirs&GT; myprog.exe
-            Notes:
-               o Under Linux/Unix, don't add the ".exe" after myprog
-               o "src dirs" is a list of directories containing the
-                 source code files of myprog and the units it uses
-                 seperated by semi-colons (";"). The current directory is
-                 automatically included.
-         4. Once inside the debugger, you can (optionally) set the
-            command line options that will be passed to your program
-            using the command "set args &LT;option1 option2 ...&GT;"
-         5. To start the program, type "run" and press enter
-         6. After the program has crashed, the address of the instruction
-            where the crash occurred will be shown. The debugger will try
-            to display the source code line corresponding with this
-            address. Note that this can be inside a procedure of the RTL,
-            so the source may not always be available and most likely the
-            RTL wasn't compiled with debugging information.
-         7. If you then type "bt" (BackTrace), the addreses in the call
-            stack will be shown (the addresses of the procedures which
-            were called before the program got to the current address).
-            You can see which source code lines these present using the
-            command
-info line *&LT;address&GT;
-            For example:
-info line *0x05bd8
-
-References
-
-   1. http://www.freepascal.org/faq.htm#WhatIsFP
-   2. http://www.freepascal.org/faq.htm#versions
-   3. http://www.freepascal.org/faq.htm#FPandGNUPascal
-   4. http://www.freepascal.org/faq.htm#WhereToGetFP
-   5. http://www.freepascal.org/faq.htm#PortabilityTips
-   6. http://www.freepascal.org/faq.htm#OOP
-   7. http://www.freepascal.org/faq.htm#HOMEWORK
-   8. http://www.freepascal.org/faq.htm#HowcanIbuildaunit
-   9. http://www.freepascal.org/faq.htm#TurboVision
-  10. http://www.freepascal.org/faq.htm#CompileSystemUnit
-  11. http://www.freepascal.org/faq.htm#Internalerror9999
-  12. http://www.freepascal.org/faq.htm#Howdoesfunctionoverloadingwork
-  13. http://www.freepascal.org/faq.htm#HowToCallCFuncuntions
-  14. http://www.freepascal.org/faq.htm#HowToUseGraph
-  15. http://www.freepascal.org/faq.htm#WrongColors
-  16. http://www.freepascal.org/faq.htm#IntegratedAssemblerSyntax
-  17. http://www.freepascal.org/faq.htm#HowToAccessDosMemory
-  18. http://www.freepascal.org/faq.htm#FPwithoutfpu
-  19. http://www.freepascal.org/faq.htm#AccessingMoreThan4MB
-  20. http://www.freepascal.org/faq.htm#accessioports
-  21. http://www.freepascal.org/faq.htm#ImusingWin95
-  22. http://www.freepascal.org/faq.htm#ImusingOS2
-  23. http://www.freepascal.org/faq.htm#dpmi
-  24. http://www.freepascal.org/faq.htm#instal10NT
-  25. http://www.freepascal.org/faq.htm#instal106os2
-  26. http://www.freepascal.org/faq.htm#snapshot
-  27. http://www.freepascal.org/faq.htm#ideinst
-  28. http://www.freepascal.org/faq.htm#ideconfig
-  29. http://www.freepascal.org/faq.htm#binariesbig
-  30. http://www.freepascal.org/faq.htm#systemnotfound
-  31. http://www.freepascal.org/faq.htm#KnownBugs
-  32. http://www.freepascal.org/faq.htm#ErrorPos
-  33. http://www.freepascal.org/download.html
-  34. http://www.freepascal.org/develop.html#snapshot
-  35. http://www.freepascal.org/bugs.html
-  36. http://www.delorie.com/djgpp/v2faq/faq102.html#Syntax
-  37. http://www.rt66.com/%7Ebrennan/djgpp/djgpp%A0asm.html
-  38. http://rcs.urz.tu-dresden.de/schoenfu/zip/asmtrans.zip
-  39. http://www.brain.uni-freiburg.de/%7Eklaus/cwsdpmi.exe
-  40. ftp://ftp.freepascal.org/pub/fpc/dist/dos-1.00/separate/install.exe
-  41. ftp://ftp.freepascal.org/pub/fpc/dist/win32-1.00/separate/install.exe
-  42. http://www.freepascal.org/develop.html#snapshot
-  43. http://www.freepascal.org/download.html
-  44. http://www.freepascal.org/maillist.html
-  45. http://www.freepascal.org/makecyc.html
-  46. http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
-  47. http://hobbes.nmsu.edu/
-  48. http://www.freepascal.org/makecyc.html
-  49. http://www.freepascal.org/faq.htm#snapshot
-  50. http://www.freepascal.org/bugs.html
-  51. http://hobbes.nmsu.edu/pub/os2/apps/internet/time/time868f.zip

+ 0 - 257
install/doc/readme.txt

@@ -1,257 +0,0 @@
-
-                            Free Pascal Compiler
-
-                               Version 2.0.0
-
-
-****************************************************************************
-* Introduction
-****************************************************************************
-
-Please also read the platform specific README file, if it exists.
-
-This package contains a freeware 32-bit/64-bit pascal compiler for several
-platforms. The language and the runtime library are almost compatible with
-Turbo Pascal 7.0 and recent Delphi releases. There is also partial support
-for the Macintosh pascal dialect.
-
-Free Pascal 2.0.0 is currently available for the following platforms:
-- Linux-i386
-- Linux-powerpc
-- Linux-sparc
-- Linux-x86_64 (amd64)
-- Win32 (Win95/98/Me/XP/2000 and WinNT)
-- OS/2-i386 (OS/2 Warp v3.0, 4.0, WarpServer for e-Business and eComStation)
-- FreeBSD i386
-- Mac OS X/Darwin for PowerPC
-- Mac OS (classic) for PowerPC
-- Netware-i386
-- NetwLibc-i386 (LibC is preferred API under newer Netware versions)
-
-More platforms will be supported in future 1.9.x beta releases.
-Because release building is quite time intensive, we decide to start the
-2.0 beta series only with the most important targets. If you want to change
-this and create and maintain 2.0 beta releases for other platforms and
-targets, feel free to contact us, e-mail addresses are listed below.
-
-There are other platforms which are more or less working, but there is
-currently no maintainer for them and thus we cannot provide adequate
-support. DOS (i386) using the GO32v2 dos extender is one such example,
-other examples would include other BSD variants, etc. If you want to change
-this and create and maintain versions for other platforms and targets, feel
-free to contact us, e-mail addresses are listed below.
-
-****************************************************************************
-* Features
-****************************************************************************
-
-- high speed compiler
-- fully 32 or 64-bit code
-- language features:
-  - almost fully compatible with Borland Pascal and Borland Delphi
-  - ansi strings
-  - wide strings
-  - exception support
-  - RTTI support
-  - procedure overloading
-  - operator overloading
-  - COM, CORBA and raw interfaces support
-  - dynamic array support
-  - variant support
-  - inlining
-- code optimizer:
-  - peephole optimizer (80x86 only)
-  - jump optimizer
-  - loading of variables into registers
-  - assembler level dataflow analyzer (80x86 only)
-  - stack frame eliminations
-  - sophisticated register allocator
-- integrated BASM (built-in assembler) parser
-  - supports ATT syntax used by GNU C
-  - supports Intel syntax used by Turbo Pascal (80x86-only)
-- can compile code into assembler source code for these assemblers:
-  - GNU Assembler (GAS)
-  - Netwide assembler (Nasm)
-  - Microsoft Assembler/Turbo Assembler (Masm/Tasm)
-  - Watcom assembler (wasm)
-- can call external C code
-- smartlinking (not yet supported under Mac OS X)
-- support for the GNU debugger
-- IDE (currently for GO32v2, Linux, FreeBSD, OS/2 and Win32 only; not all
-  platforms include debugger integrated in IDE)
-- can create binaries running natively under both DOS and OS/2 (EMX version)
-
-
-****************************************************************************
-* Minimum requirements
-****************************************************************************
-
-i386, x86_64, PowerPC or Sparc processor
-Win32:
- - Win95/98/Me/2000/XP or WinNT
- - 16 MB RAM
-OS/2:
- - OS/2 Warp v3.0 with one of late fixpaks - FP 35 should be fine,
-   OS/2 Warp v4.0 with FP 5 and above, WSeB, MCP or any eComStation version
-   (OS/2 2.0/2.1 may work partly, but not supported)
-Linux:
- - system running a 2.0.x kernel
-FreeBSD:
-- FreeBSD 4.x system or 5.x system that has COMPAT_4 system (which is
-  default)
-Mac OS X:
- - Mac OS X 10.1 and higher (10.0 may also work, but is untested)
-Mac OS (classic)
- - Mac OS 9.2 has been tested, should probably also work from 7.5.3 and up.
-
-****************************************************************************
-* Quick start - Win32
-****************************************************************************
-
-Download the distribution package (fpc-2.0.0.i386-win32.exe) and run it
-- it is a self-extracting installer, so just follow the instructions
-to install it. Don't forget to set the path as mentioned by the install
-program.
-
-To test the compiler, change to the demo directory of the compiler
-and type
-        fpc hello
-        hello
-
-
-****************************************************************************
-* Quick start - OS/2 / DOS
-****************************************************************************
-
-Download distribution archive (os2200.zip for OS/2 or dos196.zip for
-GO32v2) and unzip it into a temporary directory.
-
-Start the install program INSTALL.EXE and follow the instructions.
-
-Don't forget to set the path as mentioned by the install program.
-
-To test the compiler, change to the demo directory of the compiler
-and type
-        fpc hello
-        hello
-
-
-****************************************************************************
-* Quick start - Linux/FreeBSD
-****************************************************************************
-
-Download fpc-2.0.0.<cpu>-<os>.tar and untar into a temporary directory.
-
-Start the install script with ./install.sh and follow the instructions.
-
-To test the compiler, change to the demo directory of the compiler
-and type
-        fpc hello
-        hello
-
-
-****************************************************************************
-* Documentation
-****************************************************************************
-
-The documentation is available as HTML pages, PDF, PS, and text although the
-recommended format is pdf. These are all available on
-ftp://ftp.freepascal.org/fpc/docs
-
-NB that there is at present no FPC specific documentation for the Win32
-system functions. There is a note in the ftp /doc explaining where
-the MS help file for this can be obtained.
-
-
-****************************************************************************
-* Suggestions, Help, Bug reporting, snapshots,  ...
-****************************************************************************
-
-Suggestions, Help ...
----------------------
-e-mail: [email protected] (bugs, developer related questions)
-e-mail: [email protected] (general pascal related questions)
-
-Both these adresses are for mailing lists. If you're not subscribed,
-be sure to mention this fact when sending questions to these lists,
-so that people sending answers know about it and send you a copy.
-Information about available lists and subscription can be found
-on http://lists.freepascal.org/mailman/listinfo
-
-WWW: http://www.freepascal.org
-FTP: ftp://ftp.freepascal.org/fpc
-(several mirrors exist, see website for links)
-
-Additional information about mailing lists, news, future plans etc.
-can be found on the web site.
-
-SNAPSHOTS & SOURCES
--------------------
-One of the features of FPC is the snapshots. These are made daily or weekly
-from the developers' latest versions of the source. Snapshots are available
-for GO32v2, Win32, OS/2, Linux and Netware versions. The latest snapshots
-are in: ftp... /fpc/snapshot/ in appropriately named .zip/tar files.
-
-You will also normally find in the snapshot archive file a readme, with
-a note about the latest included changes. It is quite common, though it doesn't
-always happen, that when a bug is reported it is fixed and a fixed version
-can be obtained the NEXT day in the appropriate snapshot.... yes really!
-
-Also on the ftp site you'll find a /dist directory, with the latest
-distributed releases, a /docs directory, and a /source directory, in
-which every night at about 0100 GMT the latest source generated by the
-developers during the day & evening before is exported from CVS
-into ZIP file fpc.zip.
-
-
-Making your own snapshots
--------------------------
-By downloading the /source files (makefiles are included)
-it is possible to to make your own version of the fpc compiler/rtl
-and to modify it. You are of course free to do this
-so long as you observe the licence conditions. In order to make the
-compiler/rtl & ides in a resonable time (eg <30 minutes) you'll need at least
-32M of physical memory (64M is better) memory and at least a 200 Mhz processor
-and at least 100 Mbytes of free disk space. You'll also need
-some knowledge of making files & programming... it is not
-difficult but it isn't easy either!
-
-REPORTING BUGS
-----------------
-If you find a bug in the released version, you may want to try a snapshot
-(see SNAPSHOTS above) to see if it has been fixed before reporting it to
-the fpc-devel mailing list.
-
-If you find a fault or 'feature' in a release, please report it either using
-the bug reporting interface available on our WWW pages (see above), or to
-the fpc-devel mailing list. PLEASE INCLUDE ALSO A COMPILABLE CODE FRAGMENT
-which can be used to reproduce the problem (or a link to larger archive if
-it cannot reproduced with small example), and state the version eg Win32,
-GO32v2, and the date of the compiler etc on which you noticed the problem
-& any other useful info so the developers can reproduce the problem,
-otherwise they may not be willing/able to fix it.
-
-
-****************************************************************************
-* License
-****************************************************************************
-
-The compiler and most utilities and executables distributed in this package
-fall under the GPL, for more information read the file COPYING.
-
-Some specific utilities and programs come under the license described in
-COPYING.DJ, COPYING.EMX and COPYING.RSX.
-
-The documentation, unless otherwise noted, is distributed as free
-text, and is distributed under the GNU Library General Public
-License.
-
-The runtime library, package libraries, free component library, and
-other libraries which are used to create executables by the compiler
-come under a modified GNU Library General Public license. Additional
-information about the library license is found in COPYING.FPC.
-
-NOTE: OS/2 version of the installer uses the library UNZIP32.DLL from
-      Info-ZIP. Info-ZIP's software (Zip, UnZip and related utilities)
-      is free and can be obtained as source code or executables from
-      Internet/WWW sites, including http://www.info-zip.org.

+ 0 - 296
install/doc/whatsnew.txt

@@ -1,296 +0,0 @@
-
-                            Free Pascal Compiler
-
-                                Version 2.0.0
-
-******************************************************************************
-                              What's New in 2.0.0
-******************************************************************************
-Compiler:
-  + properties in objects are now allowed
-  + use of cmov when at least -Cppentium2 is supplied (i386+ only)
-  + .p is a searched source extension in macpas mode now
-  * Improved MacPas mode
-  * Improved variant support
-  * Updated language files
-  * Improved warnings regarding uninitialised variables
-  * Lot of small bugs and compatibility fixes
-  
-RTL:
-  * Several widestring and unicode fixes
-  * Heavily improved variant support
-  * Improved threading support
-  * Improved 64 bit compatibility
-  * Lot of small bugs and compatibility fixes
-  
-FCL:
-  * Improved data base support
-  * Lot of small bugs and compatibility fixes
-  
-Packages:
-  + Jedi windows api is part of the packages now
-  + Windows specific units of the rtl have been moved to packages/base/winunits
-  + XFree header conversions to X package added
-  * Endian and 64 bit fixes
-  * Lot of small bugs and compatibility fixes
-
-IDE:
-  * Small bug fixes
-  
-Misc:
-  * Improved docs
-  * Bug fixes for FreeVision
-  
-  
-                        Version 1.9.8 aka 2.0.0-Rc2
-
-******************************************************************************
-                      What's New in 1.9.8 aka 2.0.0-Rc2
-******************************************************************************
-
-
-Compiler:
-  + arm-linux cross compiler for i386-linux
-  + SysV style syscalls added for MorphOS
-  + Exportable macros for mode MacPas
-  + Support procvar declaration in parameters for mode MacPas
-  + Give warning if code is never executed in while/if statements
-  + Directive {$COPERATORS ON} added, synomym for -Sc
-  + Check for uninitialzed from and to values in for-loop statement
-  + -Fa<unit> option added to load units in a program before the uses statement
-    is parsed
-  + -vz for output to stderr
-  * Better support for unique types
-  * AfterConstruction/BeforeDestruction behaviour is now compatible with Delphi
-  * Better support for Widestring
-  * Removed {$THREADING ON} directive, threading support is always available
-  * Improved code generation on Sparc
-  * Lot of small bugs and compatibility fixes
-  + On target Mac OS, resource files is supported
-
-RTL:
-  + arm Linux support
-  * Basic threading support moved to the system unit
-  * Operator ** moved to math unit; system.power removed
-  * Improved variant support
-  * Lot of small bugs and compatibility fixes
-  + The unit MacOS (api to Mac OS) for target MacOS
-
-FCL:
-  + Support for Interbase/Firebird, PostgreSQL and MySQL 4.0 under windows
-  * Database drivers are now dynamically loaded
-  * The TSQLQuery is now fully editable using cached updates
-  * Lot of small bugs and compatibility fixes
-
-Packages:
-  + gtk2 interface units
-  * 64 bit compatibility fixes
-  * Lot of small bugs and compatibility fixes
-  
-IDE:
-  + vector unit window
-  * x86-64 asssembler debugging support improved
-  * Sparc asssembler debugging support improved
-  * Some bug fixes
-  
-Misc:
-  + txt output to fpdoc added
-  * some fpdoc bugs fixes
-  + demo for macos
-  
-
-                        Version 1.9.6 aka 2.0.0-Rc1
-
-******************************************************************************
-                      What's New in 1.9.6 aka 2.0.0-Rc1
-******************************************************************************
-
-Compiler:
-  + x86_64/amd64 (Linux) compiler
-  + Sparc (Linux) compiler
-  + PowerPC MorphOS support
-  + Mac OS (classic) compiler (for MPW)
-  + Netware Libc support (-Tnetwlibc)
-  + Register variable support (-Or) for all targets
-  + MacPas compiler mode (-Mmacpas)
-  * Better inlining support
-  * For loop variable assignment is not allowed anymore
-  * $fpctarget expands to <cpu>-<os> (except for 8.3 limited targets),
-    old $target removed
-  * Implicit loading of Variants unit
-  * Lots of bug fixes
-
-RTL:
-  + x86_64/amd64 Linux support
-  + Sparc Linux support
-  + PowerPC MorphOS support
-  + Mac OS (classic) support (except Sysutils and its dependants)
-  + Netware Libc support
-  + New heap manager that releases memory back to the OS
-  + TThread.Synchronize support
-  + utf8bidi unit
-  + GetHeapStatus added
-  + GetProcessID added
-  + SysUtils.GetEnvironmentVariableCount and SysUtils.GetEnvironmentString added
-  * gpm unit does not need libgpm anymore
-  + Further additions for improved Delphi compatibility
-  + System.GetProcessID and System.GetThreadID added
-  + Dos.GetMsCount added
-  + Support for changing console resolution in Video for Win32
-  + Support for using high memory (> 512 MB) under OS/2 (where available)
-  - Removed MaxAvail, MemAvail, HeapSize due to their unreliability
-    (bogus/misleading return values) in multitasking environment with swapping
-
-FCL:
-  + RTTIUtils unit added
-  + fpcunit test-framework added
-  * Lots of dbf and other db fixes
-
-FV:
-  * Updated to fvision implementation, first official release
-
-IDE:
-  * Lots of improvements and stability fixes
-  * Support latest gdb 6.2.x and 6.3.x releases
-
-Docs:
-  + Lots of updates
-  + Easier to navigate html documentation
-  * fpDoc is used to generate all unit documentation
-
-Misc:
-  * Makefiles create units in a separate directory units/cpu-os/
-  * More cross compilation improvements
-
-
-******************************************************************************
-                      What's New in 1.9.4 aka 2.0.0-Beta3
-******************************************************************************
-
-Compiler:
-  + ARM (Linux) compiler
-  + PowerPC Darwin (Mac OS X) support
-  + reintroduce keyword support
-  + added prefetch(const mem) support
-  + MacPas compile mode
-  + -gv to generate an executable that can be run under Valgrind >= 2.1
-  * register allocator fixes and tweaks
-  * better support for preprocessor $IF expressions
-  * better overloaded operator support
-  * Win32 DLL export table fixes
-  * stabs (debuginfo) generation cleanups
-  * enum names in RTTI are now in their original case
-  * record alignment fixes
-  * lots of bug fixes
-
-RTL:
-  + ARM Linux support
-  + Powerpc Darwin support
-  + Sysutils.RaiseLastOSError added
-  + Sysutils.GetLastOSError added
-  + Classes.TOwnedCollection added
-  + Sysutils.FileIsReadOnly added
-  + support of widestring and currency in the typinfo unit
-  * Better support for Libc based RTL (FPC_USE_LIBC)
-  * 64bit cleanup for future x86_64 port
-  * ExecuteProcess fixes
-  * Linux use getdents syscall instead of deprecated readdir
-  * bug fixes
-
-FCL:
-  + SDF DB backend
-  + TGA support in fpImage
-  + support of widestring and currency type in stream related classes
-  * Lot of fixes to fpImage classes
-
-Misc:
-  * better cross development support
-  * Documentation updates
-  * Testsuite updates to store testrun results in a database
-  * Testsuite updates for cross platform testing, with remote rsh/ssh support
-
-
-******************************************************************************
-                      What's New in 1.9.2 aka 2.0.0-Beta2
-******************************************************************************
-
-Compiler:
-  + PowerPC compiler
-  + sse/sse2 code generation support
-  + "global" property support
-  * improved inlining support
-  * optimizer enabled again
-  * uses register calling conventions by default
-  * $fputype directive
-  + properties of type single can have default values
-  + support of $IF DECLARED()
-  + support of DQWORD in inline intel assembler code
-  * lots of bug fixes
-
-RTL:
-  * more improvements for unix runtime library
-  * using FPC_USE_LIBC allows to compile an rtl which uses libc instead of syscalls
-  + System.Initialize
-  + Sysutils.ExecuteProcess
-  + System.WideStringManager
-  + System.PtrInt and System.PtrUInt
-  * ipv6 support
-  * lots of bug fixes
-
-FCL:
-  + sqlite support
-  * bug fixes
-
-Misc:
-  * improved docs
-
-******************************************************************************
-                      What's New in 1.9.0 aka 2.0.0-Beta1
-******************************************************************************
-
-Compiler:
-  + dynamic arrays
-  + interfaces
-  + variants
-  + full widestring support
-  + default parameters
-  + cross name scope overloading
-  + support for the PowerPC, Sparc and ARM processor, installation packages will follow within the
-    next weeks
-  + new and more sophisticated register allocator
-  + inlining across units
-  + register calling conventions
-  + SSE and SSE2 support for inline assembler
-  + PIC code generation
-  + new language mode: "Mac Pascal"
-  + full boolean evaluation is now also available
-  + threadvar support, enabled by using {$threading on}
-  * support of int64 integer constants
-  * improved Delphi compatibility in -Sd mode
-  * a lot of bug fixes
-  * large parts of the compiler are rewritten to create a more stable,
-    portable and maintainable compiler
-
-RTL:
-  + multithreading support
-  * completely rewritten unix runtime library
-  * improved Delphi compatiblity
-  * significantly improved speed of exception related code
-  * prepared for big endian and 64 Bit CPUs
-  * a lot of bug fixes
-
-FCL:
-  + tdataset support
-  + html generator
-  + 64 Bit file handling
-  * a lot of bug fixes
-
-Docs:
-  * adapted to reflect new language features
-
-IDE:
-  * a lot of bug fixes
-
-Misc:
-  * improved cross compilation
-  

+ 0 - 308
install/fpc.ist

@@ -1,308 +0,0 @@
-;**********************************************************************
-; We don't use the INNO Setup preprocessor. It is unfortunately quite buggy.
-; So, this script must be preprocessed by our own tools.
-; The preprocessor will replace anything enclosed in percent characters
-; by the value specified in it's config file. Standard there are only
-; the following things;
-; FPCVERSION   Version of FPC.
-; BUILDDIR     Build directory.
-;**********************************************************************
-;
-; ISS Build script generated on %BUILDDATE% - %BUILDTIME%
-;
-[Setup]
-AppName=Free Pascal
-AppVerName=Free Pascal %FPCVERSION%
-AppPublisher=Free Pascal Team
-AppPublisherURL=http://www.freepascal.org/
-AppSupportURL=http://www.freepascal.org/
-AppUpdatesURL=http://www.freepascal.org/
-DefaultDirName={sd}\FPC\%FPCVERSION%
-DefaultGroupName=Free Pascal
-AllowNoIcons=yes
-InfoAfterFile=doc\fpc\whatsnew.txt
-Compression=bzip
-SolidCompression=true
-SourceDir=%BUILDDIR%
-InternalCompressLevel=max
-AppCopyright=GPL
-AppendDefaultDirName=false
-AlwaysShowComponentsList=false
-ShowLanguageDialog=yes
-
-[Files]
-; Base package
-Source: bin\i386-win32\ppc386.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\ppudump.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\ppufiles.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\ppumove.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\ppc386.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\cygwin1.dll; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\fp32_32.ico; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\fpc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: bin\i386-win32\fpcmkcfg.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: base
-Source: doc\fpc\copying; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\copying.dj; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\copying.emx; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\copying.fpc; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\copying.rsx; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\readme.txt; DestDir: {app}\doc\fpc; Components: base; Flags: isreadme
-Source: doc\fpc\whatsnew.txt; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\faq.txt; DestDir: {app}\doc\fpc; Components: base
-Source: doc\fpc\faq.htm; DestDir: {app}\doc\fpc; Components: base
-Source: msg\*.*; DestDir: {app}\msg; Components: base
-Source: units\i386-win32\rtl\*.*; DestDir: {app}\units\i386-win32\rtl; Components: base
-; Binutils (asld)
-Source: bin\i386-win32\ar.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\as.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\cpp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\dlltool.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\gcc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\ld.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\objdump.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\windres.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\windres.h; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\strip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: binutils
-Source: bin\i386-win32\gdb.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: gdb
-Source: bin\i386-win32\cygncurses-8.dll; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: gdb
-Source: bin\i386-win32\cygiconv-2.dll; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: gdb
-; IDE files
-Source: bin\i386-win32\fp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\fp32.ico; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\fp.ans; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\cvsco.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\cvsdiff.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\cvsup.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\gplprog.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\gplunit.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\unit.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\program.pt; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\tpgrep.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: bin\i386-win32\grep.tdf; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: ide
-Source: doc\ide\readme.ide; DestDir: {app}\doc\ide; Flags: ignoreversion; Components: ide
-; Make tools
-Source: bin\i386-win32\gdate.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\gecho.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\ginstall.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\gmkdir.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\grep.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\make.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\mv.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\patch.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\pwd.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\rm.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\unzip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\upx.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\zip.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\cmp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\cp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-Source: bin\i386-win32\diff.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: make
-; FPC Utilities
-Source: bin\i386-win32\bin2obj.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\data2inc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\delp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\fpcmake.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\fpdoc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\fpmc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\fpmcgtk.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\fprcp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\h2pas.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\h2paspp.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\makeskel.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\plex.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\postw32.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\ppdep.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\ptop.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\pyacc.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\rstconv.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\unitdiff.exe; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\yylex.cod; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: bin\i386-win32\yyparse.cod; DestDir: {app}\bin\i386-win32; Flags: ignoreversion; Components: utils
-Source: units\i386-win32\lexyacc\*.*; DestDir: {app}\units\i386-win32\lexyacc; Flags: ignoreversion; Components: utils
-; Documentation
-%DisableDocs%Source: doc\*.pdf; DestDir: {app}\doc; Flags: ignoreversion; Components: docs
-
-; FCL
-Source: units\i386-win32\fcl\*.*; DestDir: {app}\units\i386-win32\fcl; Flags: ignoreversion; Components: fcl
-Source: examples\fcl\*.*; DestDir: {app}\examples\fcl; Flags: ignoreversion; Components: fcl
-; FV
-Source: units\i386-win32\fv\*.*; DestDir: {app}\units\i386-win32\fv; Flags: ignoreversion; Components: fv
-Source: examples\fv\*.*; DestDir: {app}\examples\fv; Flags: ignoreversion; Components: fv
-; Various units packages
-; CDROM
-Source: units\i386-win32\cdrom\*.*; DestDir: {app}\units\i386-win32\cdrom; Flags: ignoreversion; Components: packages/cdrom
-Source: examples\cdrom\*.*; DestDir: {app}\examples\cdrom; Flags: ignoreversion; Components: packages/cdrom
-; fpGtk
-Source: units\i386-win32\fpgtk\*.*; DestDir: {app}\units\i386-win32\fpgtk; Flags: ignoreversion; Components: packages/gtk/fpgtk
-; Source: examples\fpgtk\*.*; DestDir: {app}\examples\fpgtk; Flags: ignoreversion; Components: packages/gtk/fpgtk
-; Gtk
-Source: units\i386-win32\gtk\*.*; DestDir: {app}\units\i386-win32\gtk; Flags: ignoreversion; Components: packages/gtk
-Source: examples\gtk\*.*; DestDir: {app}\examples\gtk; Flags: ignoreversion; Components: packages/gtk
-; Gtk 2
-Source: units\i386-win32\gtk2\*.*; DestDir: {app}\units\i386-win32\gtk2; Flags: ignoreversion; Components: packages/gtk2
-Source: examples\gtk2\*.*; DestDir: {app}\examples\gtk2; Flags: ignoreversion; Components: packages/gtk2
-; GDBINT
-Source: units\i386-win32\gdbint\*.*; DestDir: {app}\units\i386-win32\gdbint; Flags: ignoreversion; Components: packages/gdbint
-Source: examples\gdbint\*.*; DestDir: {app}\examples\gdbint; Flags: ignoreversion; Components: packages/gdbint
-; Interbase
-Source: units\i386-win32\ibase\*.*; DestDir: {app}\units\i386-win32\ibase; Flags: ignoreversion; Components: packages/ibase
-Source: examples\ibase\*.*; DestDir: {app}\examples\ibase; Flags: ignoreversion; Components: packages/ibase
-; MD5
-Source: units\i386-win32\md5\*.*; DestDir: {app}\units\i386-win32\md5; Flags: ignoreversion; Components: packages/md5
-Source: examples\md5\*.*; DestDir: {app}\examples\md5; Flags: ignoreversion; Components: packages/md5
-; MySQL
-Source: units\i386-win32\mysql\*.*; DestDir: {app}\units\i386-win32\mysql; Flags: ignoreversion; Components: packages/mysql
-Source: examples\mysql\*.*; DestDir: {app}\examples\mysql; Flags: ignoreversion; Components: packages/mysql
-; Netdb
-Source: units\i386-win32\netdb\*.*; DestDir: {app}\units\i386-win32\netdb; Flags: ignoreversion; Components: packages/netdb
-Source: examples\netdb\*.*; DestDir: {app}\examples\netdb; Flags: ignoreversion; Components: packages/netdb
-; odbc
-Source: units\i386-win32\odbc\*.*; DestDir: {app}\units\i386-win32\odbc; Flags: ignoreversion; Components: packages/odbc
-Source: examples\odbc\*.*; DestDir: {app}\examples\odbc; Flags: ignoreversion; Components: packages/odbc
-; opengl
-Source: units\i386-win32\opengl\*.*; DestDir: {app}\units\i386-win32\opengl; Flags: ignoreversion; Components: packages/opengl
-Source: examples\opengl\*.*; DestDir: {app}\examples\opengl; Flags: ignoreversion; Components: packages/opengl
-; pasjpeg
-Source: units\i386-win32\pasjpeg\*.*; DestDir: {app}\units\i386-win32\pasjpeg; Flags: ignoreversion; Components: packages/pasjpeg
-Source: examples\pasjpeg\*.*; DestDir: {app}\examples\pasjpeg; Flags: ignoreversion; Components: packages/pasjpeg
-; paszlib
-Source: units\i386-win32\paszlib\*.*; DestDir: {app}\units\i386-win32\paszlib; Flags: ignoreversion; Components: packages/paszlib
-Source: examples\paszlib\*.*; DestDir: {app}\examples\paszlib; Flags: ignoreversion; Components: packages/paszlib
-; regexpr
-Source: units\i386-win32\regexpr\*.*; DestDir: {app}\units\i386-win32\regexpr; Flags: ignoreversion; Components: packages/regexp
-Source: examples\regexpr\*.*; DestDir: {app}\examples\regexpr; Flags: ignoreversion; Components: packages/regexp
-; sqlite
-Source: units\i386-win32\sqlite\*.*; DestDir: {app}\units\i386-win32\sqlite; Flags: ignoreversion; Components: packages/sqlite
-; Source: examples\sqlite\*.*; DestDir: {app}\examples\sqlite; Flags: ignoreversion; Components: packages/sqlite
-; tcl
-Source: units\i386-win32\tcl\*.*; DestDir: {app}\units\i386-win32\tcl; Flags: ignoreversion; Components: packages/tcl
-Source: examples\tcl\*.*; DestDir: {app}\examples\tcl; Flags: ignoreversion; Components: packages/tcl
-; unzip
-Source: units\i386-win32\unzip\*.*; DestDir: {app}\units\i386-win32\unzip; Flags: ignoreversion; Components: packages/unzip
-; Source: examples\unzip\*.*; DestDir: {app}\examples\unzip; Flags: ignoreversion; Components: packages/unzip
-; winunits
-Source: units\i386-win32\winunits\*.*; DestDir: {app}\units\i386-win32\winunits; Flags: ignoreversion; Components: packages/winunits
-;Source: examples\winunits\*.*; DestDir: {app}\examples\winunits; Flags: ignoreversion; Components: packages/winunits
-; zlib
-Source: units\i386-win32\zlib\*.*; DestDir: {app}\units\i386-win32\zlib; Flags: ignoreversion; Components: packages/zlib
-; Source: examples\zlib\*.*; DestDir: {app}\examples\zlib; Flags: ignoreversion; Components: packages/unzip
-
-[INI]
-Filename: {app}\Free Pascal.url; Section: InternetShortcut; Key: URL; String: http://www.freepascal.org/
-
-[Icons]
-Name: {userdesktop}\Free Pascal IDE; Filename: {app}\bin\i386-win32\fp.exe; components: ide; IconFileName: {app}\bin\i386-win32\fp32.ico; WorkingDir: {app}\bin\i386-win32
-Name: {group}\Free Pascal; Filename: {app}\bin\i386-win32\fp.exe; components: ide; IconFileName: {app}\bin\i386-win32\fp32.ico; WorkingDir: {app}\bin\i386-win32
-Name: {group}\{cm:ProgramOnTheWeb,Free Pascal}; Filename: {app}\Free Pascal.url; IconFileName: {app}\bin\i386-win32\fp32.ico;
-Name: {group}\{cm:UninstallProgram,Free Pascal}; Filename: {uninstallexe}
-
-[UninstallDelete]
-Type: files; Name: {app}\Free Pascal.url
-Type: files; Name: {app}\bin\i386-win32\fpc.cfg; Tasks: createcfg;
-
-[Components]
-Name: base; Description: Basic system for  win32; Flags: fixed; Types: Custom Minimum Full
-Name: binutils; Description: GNU linker and assembler; Flags: fixed; Types: Custom Minimum Full
-%DisableDocs%Name: docs; Description: Documentation in PDF; Types: Custom Full
-Name: ide; Description: Integrated Development Environment; Types: Custom Full
-Name: utils; Description: Free Pascal Utilities; Types: Custom Full
-Name: make; Description: GNU make; Types: Custom Full
-Name: gdb; Description: GNU debugger; Types: Full Custom
-Name: fcl; Description: FCL (Free Component Library) units; Types: Custom Full
-Name: fv; Description: Free Vision; Types: Custom Full
-Name: packages; Description: Various unit packages; Types: Custom Full
-Name: packages/gtk; Description: GTK 1.2 units; Types: Custom Full
-Name: packages/gtk/fpgtk; Description: fpGTK (for GTK 1.2) units; Types: Custom Full
-Name: packages/gtk2; Description: GTK 2 units; Types: Custom Full
-Name: packages/opengl; Description: OpenGL units; Types: Custom Full
-Name: packages/ibase; Description: Interbase/Firebird units; Types: Custom Full
-Name: packages/mysql; Description: MySQL units; Types: Custom Full
-Name: packages/gdbint; Description: GDB access units; Types: Custom Full
-Name: packages/paszlib; Description: Paszlib unit (provide acces to gzipped files); Types: Custom Full
-Name: packages/regexp; Description: Regular Expression support units; Types: Custom Full
-Name: packages/unzip; Description: Unzip units (provide acces to .zip files); Types: Custom Full
-Name: packages/zlib; Description: Interface to libz compression library; Types: Custom Full
-Name: packages/netdb; Description: Portable DNS routines; Types: Custom Full
-Name: packages/pasjpeg; Description: PasJPEG units (provide access to JPEG files); Types: Custom Full
-Name: packages/md5; Description: MD5 checksum units; Types: Custom Full
-Name: packages/cdrom; Description: Portable CD-ROM acces; Types: Custom Full
-Name: packages/odbc; Description: ODBC data acces; Types: Custom Full
-Name: packages/sqlite; Description: SQLITE data access; Types: Custom Full
-Name: packages/tcl; Description: TCL interpreter access; Types: Custom Full
-Name: packages/winunits; Description: Windows API units; Types: Custom Full
-;Name: sources; Description: Pascal source files; Types: Custom Full
-;Name: sources/base; Description: Base sources, required; Types: Custom Full
-;Name: sources/compiler; Description: Compiler sources; Types: Custom Full
-;Name: sources/utils; Description: Utility sources; Types: Custom Full
-;Name: sources/installer; Description: Installer sources; Types: Custom Full
-;Name: sources/doc; Description: Documentation sources (LaTeX); Types: Custom Full
-;Name: sources/rtl; Description: Run-Time Library sources; Types: Custom Full
-;Name: sources/fcl; Description: FCL (Free Component Library) sources; Types: Custom Full
-;Name: sources/fpgtk; Description: fpGTK source files; Types: Custom Full
-;Name: sources/opengl; Description: OpenGL source files; Types: Custom Full
-;Name: sources/gtk; Description: GTK source files; Types: Custom Full
-;Name: sources/interbase; Description: Interbase/Firebird source files; Types: Custom Full
-;Name: sources/mysql; Description: MySQL source files; Types: Custom Full
-;Name: sources/gdbint; Description: GDB access source files; Types: Custom Full
-;Name: sources/paszlib; Description: Paszlib source files; Types: Custom Full
-;Name: sources/regexp; Description: Regular Expression support source files; Types: Custom Full
-;Name: sources/unzip; Description: Unzip source files; Types: Custom Full
-;Name: sources/zlib; Description: Libz interface source files; Types: Custom Full
-;Name: sources/netdb; Description: Portable DNS routines source files; Types: Custom Full
-;Name: sources/pasjpeg; Description: PasJPEG source files; Types: Custom Full
-;Name: sources/md5; Description: MD5 source files; Types: Custom Full
-;Name: sources/fv; Description: Free Vision source files; Types: Custom Full
-;Name: sources/rexx; Description: REXX source files (OS/2); Types: Custom Full
-;Name: sources/hwvideo; Description: Hardware access source files (OS/2); Types: Custom Full
-;Name: sources/ftpapi; Description: FTP API access source files (OS/2); Types: Custom Full
-;Name: sources/mmtk; Description: MMOS/2 access source files (OS/2); Types: Custom Full
-;Name: sources/clkdll; Description: CLKDLL access source files (OS/2); Types: Custom Full
-;Name: sources/lvm; Description: LVM access source files (OS/2); Types: Custom Full
-;Name: sources/libpng; Description: PNG library access source files (Linux); Types: Custom Full
-;Name: sources/imlib; Description: imlib library access source files (Linux); Types: Custom Full
-;Name: sources/cdrom; Description: Portable CD-ROM access source files; Types: Custom Full
-;Name: sources/odbc; Description: ODBC data acces source files; Types: Custom Full
-;Name: sources/sqlite; Description: SQLITE data access source files; Types: Custom Full
-;Name: sources/tcl; Description: TCL interpreter access source files; Types: Custom Full
-;Name: sources/winunits; Description: Windows API source files; Types: Custom Full
-
-[Types]
-Name: Full; Description: Full installation
-Name: Minimum; Description: Minimum installation
-Name: Custom; Description: Custom installation; Flags: iscustom
-
-[Tasks]
-Name: associatepp; Description: "Associate .pp files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide;
-Name: associateinc; Description: "Associate .inc files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide;
-Name: associatepas; Description: "Associate .pas files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide; Flags: unchecked;
-Name: associatedpr; Description: "Associate .dpr files with Free Pascal IDE"; GroupDescription: "File associations:"; Components: ide; Flags: unchecked;
-Name: createdesktopicon; Description: "Create a desktop icon for the Free Pascal IDE"; Components: ide;
-Name: createcfg; Description: "Create a standard configuration file for the compiler";
-
-
-[Registry]
-; Associate .pp with FP IDE
-Root: HKCR; Subkey: ".pp"; ValueType: string; ValueName: ""; ValueData: "FPCPPFile"; Flags: uninsdeletevalue; Tasks: associatepp;
-Root: HKCR; Subkey: "FPCPPFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepp;
-Root: HKCR; Subkey: "FPCPPFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepp;
-Root: HKCR; Subkey: "FPCPPFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepp;
-; Associate .inc with FP IDE
-Root: HKCR; Subkey: ".inc"; ValueType: string; ValueName: ""; ValueData: "FPCINCFile"; Flags: uninsdeletevalue; Tasks: associateinc;
-Root: HKCR; Subkey: "FPCINCFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal include File"; Flags: uninsdeletekey; Tasks: associateinc;
-Root: HKCR; Subkey: "FPCINCFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associateinc;
-Root: HKCR; Subkey: "FPCINCFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associateinc;
-; Associate .pas with FP IDE
-Root: HKCR; Subkey: ".pas"; ValueType: string; ValueName: ""; ValueData: "FPCPASFile"; Flags: uninsdeletevalue; Tasks: associatepas;
-Root: HKCR; Subkey: "FPPASFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal File"; Flags: uninsdeletekey; Tasks: associatepas;
-Root: HKCR; Subkey: "FPPASFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatepas;
-Root: HKCR; Subkey: "FPPASFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatepas;
-; Associate .pas with FP IDE
-Root: HKCR; Subkey: ".dpr"; ValueType: string; ValueName: ""; ValueData: "FPCDPRFile"; Flags: uninsdeletevalue; Tasks: associatedpr;
-Root: HKCR; Subkey: "FPDPRFile"; ValueType: string; ValueName: ""; ValueData: "Free Pascal Project File"; Flags: uninsdeletekey; Tasks: associatedpr;
-Root: HKCR; Subkey: "FPDPRFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\bin\i386-Win32\fpc32.ico"; Tasks: associatedpr;
-Root: HKCR; Subkey: "FPDPRFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\bin\i386-win32\fp.exe"" ""%1""";Tasks: associatedpr;
-; Extend path in NT,2000 or XP. Does not work in 95/98/Me
-Root: HKCU; Subkey: Environment; ValueType: String; ValueName: "PATH"; ValueData: "{reg:HKCU\environment,PATH|};{app}\bin\i386-Win32";MinVersion: 5.0,4.0
-
-[Run]
-FileName: {app}\bin\i386-win32\fpcmkcfg.exe; Description: "Creating default configuration file for Free Pascal compiler"; Parameters: "-d ""basepath={app}"" -o ""{app}\bin\i386-Win32\fpc.cfg""";

+ 0 - 139
install/fpc.spec

@@ -1,139 +0,0 @@
-Name: fpc
-Version: %FPCVERSION%
-Release: 0
-ExclusiveArch: i386 i586 i686 ppc amd64 x86_64
-Copyright: GPL
-Group: Development/Languages
-Source: %{name}-%{version}-src.tar.gz
-Summary: Free Pascal Compiler
-Packager: Peter Vreman ([email protected])
-URL: http://www.freepascal.org/
-BuildRoot: %{_tmppath}/fpc-build
-BuildRequires: fpc
-
-%define fpcdir %{_libdir}/fpc/%{version}
-%define docdir %{_docdir}/fpc-%{version}
-%define exampledir %{docdir}/examples
-
-%ifarch ppc
-%define ppcname ppcppc
-%else
-%ifarch x86_64
-%define ppcname ppcx64
-%else
-%ifarch amd64
-%define ppcname amd64
-%else
-%define ppcname ppc386
-%endif
-%endif
-%endif
-
-%define builddocdir %{buildroot}%{docdir}
-%define buildmandir %{buildroot}%{_mandir}
-%define buildbindir %{buildroot}%{_bindir}
-%define buildlibdir %{buildroot}%{_libdir}
-%define buildexampledir %{buildroot}%{exampledir}
-
-# The normal redhat rpm scripts does not recognize properly, what files to strip
-# Hook our own strip command
-%define __strip %{_builddir}/%{name}-%{version}/smart_strip.sh
-
-
-%description
-The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit
-Pascal Compiler. It comes with fully TP 7.0 compatible run-time library.
-Some extensions are added to the language, like function overloading. Shared
-libraries can be linked. Basic Delphi support is already implemented (classes,
-exceptions,ansistrings,RTTI). This package contains commandline compiler and
-utils. Provided units are the runtime library (RTL), free component library
-(FCL), gtk,ncurses,zlib, mysql,postgres,ibase bindings.
-
-###############################################################################
-# fpc.rpm
-#
-
-%prep
-%setup -c
-
-%build
-FPCDIR=
-NEWPP=`pwd`/compiler/%{ppcname}
-NEWFPDOC=`pwd`/utils/fpdoc/fpdoc
-	make compiler_cycle
-	make rtl_clean rtl_smart FPC=${NEWPP}
-	make packages_base_smart FPC=${NEWPP}
-	make fcl_smart FPC=${NEWPP}
-	make fv_smart FPC=${NEWPP}
-	make packages_extra_smart FPC=${NEWPP}
-	make ide_all FPC=${NEWPP}
-	make utils_all FPC=${NEWPP}
-if [ -z ${NODOCS} ]; then
-	make -C docs pdf FPC=${NEWPP} FPDOC=${NEWFPDOC}
-fi
-
-%install
-if [ %{buildroot} != "/" ]; then
-	rm -rf %{buildroot}
-fi
-
-FPCDIR=
-NEWPP=`pwd`/compiler/%{ppcname}
-INSTALLOPTS="FPC=${NEWPP} INSTALL_PREFIX=%{buildroot}/usr INSTALL_LIBDIR=%{buildlibdir} \
-		INSTALL_DOCDIR=%{builddocdir} INSTALL_BINDIR=%{buildbindir} \
-		INSTALL_EXAMPLEDIR=%{buildexampledir}"
-	make compiler_distinstall ${INSTALLOPTS}
-	make rtl_distinstall ${INSTALLOPTS}
-	make packages_distinstall ${INSTALLOPTS}
-	make fcl_distinstall ${INSTALLOPTS}
-	make fv_distinstall ${INSTALLOPTS}
-	make ide_distinstall ${INSTALLOPTS}
-	make utils_distinstall ${INSTALLOPTS}
-
-	make demo_install ${INSTALLOPTS} INSTALL_SOURCEDIR=%{buildexampledir}
-	make doc_install ${INSTALLOPTS}
-	make man_install ${INSTALLOPTS} INSTALL_MANDIR=%{buildmandir}
-	
-if [ -z ${NODOCS} ]; then
-	make -C docs pdfinstall ${INSTALLOPTS} INSTALL_DOCDIR=%{builddocdir}
-fi
-
-	# create link
-	ln -sf %{fpcdir}/%{ppcname} %{buildroot}%{_bindir}/%{ppcname}
-
-        # Workaround:
-        # newer rpm versions do not allow garbage
-        # delete lexyacc
-        rm -rf %{buildroot}/usr/lib/fpc/lexyacc
-
-
-%clean
-	make compiler_clean
-	make rtl_clean
-	make packages_clean
-	make fcl_clean
-	make fv_clean
-	make ide_clean
-	make utils_clean
-if [ -z ${NODOCS} ]; then
-	make -C docs clean
-fi
-
-if [ %{buildroot} != "/" ]; then
-	rm -rf %{buildroot}
-fi
-
-%post
-# Create a version independent config
-%{fpcdir}/samplecfg %{_libdir}/fpc/\$fpcversion
-
-%files
-%defattr(-, root, root)
-%{_bindir}/*
-%{fpcdir}
-%doc %{docdir}/NEWS
-%doc %{docdir}/README
-%doc %{docdir}/readme.ide
-%doc %{docdir}/faq*
-%doc %{exampledir}/*
-%{_mandir}/*/*

+ 0 - 21
install/fpcdoc.spec

@@ -1,21 +0,0 @@
-###############################################################################
-# fpc-docs.rpm
-#
-# Note: This file will be attached to the fpc.spec
-
-%package docs
-Group: Development/Languages
-Summary: Free Pascal Compiler - Documentation
-%description docs
-The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit
-Pascal Compiler. It comes with fully TP 7.0 compatible run-time library.
-Some extensions are added to the language, like function overloading. Shared
-libraries can be linked. Basic Delphi support is already implemented (classes,
-exceptions,ansistrings,RTTI). This package contains commandline compiler and
-utils. Provided units are the runtime library (RTL), free component library
-(FCL), gtk,ncurses,zlib, mysql,postgres,ibase bindings.
-This package contains the documentation in PDF format
-
-%files docs
-%defattr(-, root, root)
-%doc %{docdir}/*.pdf

+ 0 - 273
install/install.sh

@@ -1,273 +0,0 @@
-#!/usr/bin/env sh
-#
-# Free Pascal installation script for Unixy platforms.
-# Copyright 1996-2004 Michael Van Canneyt, Marco van de Voort and Peter Vreman
-#
-# Don't edit this file. 
-# Everything can be set when the script is run.
-#
-
-# Release Version will be replaced by makepack
-VERSION=%version%
-
-# some useful functions
-# ask displays 1st parameter, and ask new value for variable, whose name is
-# in the second parameter.
-ask ()
-{
-  askvar=$2
-  eval old=\$$askvar
-  eval printf \""$1 [$old] : "\" 
-  read $askvar
-  eval test -z \"\$$askvar\" && eval $askvar=\'$old\'
-}
-
-# yesno gives 1 on no, 0 on yes $1 gives text to display.
-yesno ()
-{
-  while true; do
-  printf "$1 (Y/n) ? "
-  read ans
-  case X$ans in
-   X|Xy|XY) return 0;;
-   Xn|XN) return 1;;
-  esac
-  done
-}
-
-# Untar files ($3,optional) from  file ($1) to the given directory ($2)
-unztar ()
-{
- tar -xzf $HERE/$1 -C $2 $3
-}
-
-# Untar tar.gz file ($2) from file ($1) and untar result to the given directory ($3)
-unztarfromtar ()
-{
- tar -xOf $HERE/$1 $2 | tar -C $3 -xzf -
-}
-
-# Get file list from tar archive ($1) in variable ($2)
-# optionally filter result through sed ($3)
-listtarfiles ()
-{
-  askvar=$2
-  if [ ! -z $3 ]; then
-    list=`tar tvf $1 | awk '{ print $(NF) }' | sed -n /$3/p`
-  else
-     list=`tar tvf $1 | awk '{ print $(NF) }'`
-  fi
-  eval $askvar='$list'
-}
-
-# Make all the necessary directories to get $1
-makedirhierarch ()
-{
-  OLDDIR=`pwd`
-  case $1 in
-    /*) cd /;;
-  esac
-  OLDIFS=$IFS;IFS=/;eval set $1; IFS=$OLDIFS
-  for i
-  do
-    test -d $i || mkdir $i || break
-    cd $i ||break
-  done
-  cd $OLDDIR
-}
-
-# check to see if something is in the path
-checkpath ()
-{
- ARG=$1
- OLDIFS=$IFS; IFS=":";eval set $PATH;IFS=$OLDIFS
- for i
- do
-   if [ $i = $ARG ]; then
-     return 0
-   fi
- done 
- return 1
-}
-
-# Install files from binary-*.tar
-#  $1 = cpu-target
-#  $2 = cross prefix
-installbinary ()
-{
-  if [ "$2" = "" ]; then
-    FPCTARGET=$1
-    CROSSPREFIX=
-  else
-    FPCTARGET=`echo $2 | sed 's/-$//'`
-    CROSSPREFIX=$2
-  fi  
-  
-  BINARYTAR=${CROSSPREFIX}binary.$1.tar
-  
-  # conversion from long to short archname for ppc<x>
-  case $FPCTARGET in
-    m68k*)
-      PPCSUFFIX=68k;;
-    sparc*) 
-      PPCSUFFIX=sparc;;
-    i386*)
-      PPCSUFFIX=386;;
-    powerpc*)
-      PPCSUFFIX=ppc;;
-    arm*)
-      PPCSUFFIX=arm;;
-    x86_64*)
-      PPCSUFFIX=x64;;
-    mips*)
-      PPCSUFFIX=mips;;
-    ia64*)
-      PPCSUFFIX=ia64;;
-    alpha*)
-      PPCSUFFIX=alpha;;
-  esac
-
-  # Install compiler/RTL. Mandatory.
-  echo "Installing compiler and RTL for $FPCTARGET..."
-  unztarfromtar $BINARYTAR ${CROSSPREFIX}base.$1.tar.gz $PREFIX
-
-  if [ -f binutils-${CROSSPREFIX}$1.tar.gz ]; then
-    if yesno "Install Cross binutils"; then
-      unztar binutils-${CROSSPREFIX}$1.tar.gz $PREFIX
-    fi
-  fi
-  
-  # Install symlink
-  rm -f $EXECDIR/ppc${PPCSUFFIX}
-  ln -sf $LIBDIR/ppc${PPCSUFFIX} $EXECDIR/ppc${PPCSUFFIX}
-  
-  echo "Installing utilities..."
-  unztarfromtar $BINARYTAR ${CROSSPREFIX}utils.$1.tar.gz $PREFIX
-
-  ide=`tar -tf $BINARYTAR | grep "${CROSSPREFIX}ide.$1.tar.gz"`
-  if [ "$ide" = "${CROSSPREFIX}ide.$1.tar.gz" ]; then
-    if yesno "Install Textmode IDE"; then
-      unztarfromtar $BINARYTAR ${CROSSPREFIX}ide.$1.tar.gz $PREFIX
-    fi
-  fi
-
-  if yesno "Install FCL"; then
-      unztarfromtar $BINARYTAR ${CROSSPREFIX}units-fcl.$1.tar.gz $PREFIX
-  fi
-  if yesno "Install packages"; then
-    listtarfiles $BINARYTAR packages units
-    for f in $packages 
-    do
-      if [ $f != ${CROSSPREFIX}units-fcl.$1.tar.gz ]; then
-        p=`echo "$f" | sed -e 's+^.*units-\([^\.]*\)\..*+\1+'`
-	echo "Installing $p"
-        unztarfromtar $BINARYTAR $f $PREFIX
-      fi
-    done
-  fi
-  rm -f *.$1.tar.gz
-}
-
-
-# --------------------------------------------------------------------------
-# welcome message.
-#
-
-clear
-echo "This shell script will attempt to install the Free Pascal Compiler"
-echo "version $VERSION with the items you select"
-echo 
-
-# Here we start the thing.
-HERE=`pwd`
-
-# Install in /usr/local or /usr ?
-if checkpath /usr/local/bin; then
-    PREFIX=/usr/local
-else
-    PREFIX=/usr
-fi
-# If we can't write on prefix, select subdir of home dir
-if [ ! -w $PREFIX ]; then
-  PREFIX=$HOME/fpc-$VERSION
-fi
-ask "Install prefix (/usr or /usr/local) " PREFIX
-makedirhierarch $PREFIX
-
-# Set some defaults.
-LIBDIR=$PREFIX/lib/fpc/$VERSION
-SRCDIR=$PREFIX/src/fpc-$VERSION
-EXECDIR=$PREFIX/bin
-OSNAME=`uname -s | tr A-Z a-z`
-
-BSDHIER=0
-case $OSNAME in 
-*bsd)
-  BSDHIER=1;;
-esac
-
-SHORTARCH=$ARCHNAME
-
-FULLARCH=$ARCHNAME-$OSNAME
-DOCDIR=$PREFIX/share/doc/fpc-$VERSION
-DEMODIR=$DOCDIR/examples
-
-# Install all binary releases
-for f in *binary*.tar
-do
-  target=`echo $f | sed 's+^.*binary\.\(.*\)\.tar$+\1+'`
-  cross=`echo $f | sed 's+binary\..*\.tar$++'`
-
-  # cross install? 
-  if [ "$cross" != "" ]; then
-    if [ "`which fpc 2>/dev/null`" = '' ]; then
-      echo "No native FPC found."
-      echo "For a proper installation of a cross FPC the installation of a native FPC is required."
-      exit 1
-    else
-      if [ `fpc -iV` != $VERSION ]; then
-        echo "Warning: Native and cross FPC doesn't match; this could cause problems"
-      fi
-    fi
-  fi
-  installbinary $target $cross
-done
-
-echo Done.
-echo
-
-# Install the documentation. Optional.
-if [ -f doc-pdf.tar.gz ]; then
-  if yesno "Install documentation"; then
-    echo Installing documentation in $DOCDIR ...
-    unztar doc-pdf.tar.gz $DOCDIR
-    echo Done.
-  fi
-fi
-echo
-
-# Install the demos. Optional.
-if [ -f demo.tar.gz ]; then
-  if yesno "Install demos"; then
-    ask "Install demos in" DEMODIR
-    echo Installing demos in $DEMODIR ...
-    makedirhierarch $DEMODIR
-    unztar demo.tar.gz $DEMODIR
-    echo Done.
-  fi
-fi
-echo
-
-# Install /etc/fpc.cfg, this is done using the samplecfg script
-if [ "$cross" = "" ]; then
-  $LIBDIR/samplecfg $LIBDIR
-else
-  echo "No fpc.cfg created because a cross installation has been done."
-fi
-
-# The End
-echo
-echo End of installation. 
-echo
-echo Refer to the documentation for more information.
-echo

+ 0 - 23
install/macos/Install

@@ -1,23 +0,0 @@
-Confirm "This will install Free Pascal for MPW.¶n¶nDo you want to proceed ?"
-
-Set installerdir `Directory`
-Set destdir `GetFileName -wd -m 'Select where I should install the FreePascal folder' "{Boot}"`FreePascal:
-
-# Write startup script
-Echo "Set -e FPCDIR ¶'{destdir}¶'" > "{MPW}Startup Items:FPC Startup"
-Echo 'Set -e Commands "{Commands},{FPCDIR}bin:"' >> "{MPW}Startup Items:FPC Startup"
-
-# Copy files
-Set Exit 0
-Delete -y "{destdir}" ³ Dev:Null
-Set Exit 1
-NewFolder "{destdir}"
-Duplicate -y "{installerdir}Freepascal":Å "{destdir}"
-
-# Write configuration file
-Echo "# Configuration file for Free Pascal for MPW" > "{destdir}bin:fpc.cfg"
-Echo "-Fu¶'{destdir}units:rtl:¶'" >> "{destdir}bin:fpc.cfg"
-Echo "-l" >> "{destdir}bin:fpc.cfg"
-Echo "-vi" >> "{destdir}bin:fpc.cfg"
-
-Alert "The installation was successful. Please restart MPW.¶n¶nLicense information is located in the docs folder."

+ 0 - 103
install/macos/Installer README

@@ -1,103 +0,0 @@
-Welcome to Free Pascal for MPW on classic Mac OS
-================================================
-
-Please also read the general README file.
-
-NOTE!
-
-Free Pascal for MPW is still considered beta quality and a lot of things
-are still missing. However ordinary programs should be able to compile. And
-the compiler can compile itself.
-
-Things which is not included: unit SysUtils and its dependants
-IDE, GDB, FPCMake 
-
-For documentation, please download separate.
-
-How to install:
----------------
-
-1. If you do not have MPW, please install MPW first.
-   MPW can be downloaded for free from Apple, see web page:
-     http://developer.apple.com/tools/mpw-tools/
-   download at:
-     ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./
-   It is then recommended that you upgrade to MPW Shell 3.6b1.
-
-2. Double click the file "INSTALL". This will launch an
-   install script (via the ToolServer application, which is
-   included in the MPW installation).
-
-3. If it is the first time you install Free Pascal,
-   the install script will ask where you want to create the
-   FreePascal folder.
-
-4. The installer will copy necessary files to the
-   FreePascal folder, create an fpc.cfg file,
-   and also add a startup script in 
-   the Startup Items folder in the MPW folder.
-
-5. Done.
-
-
-What is installed ?
--------------------
-
-1. The FreePascal folder in a nice place.
-
-2. A file "FPC Startup" in "Startup Items" in MPW.
-
-3. An entry in "FPC Startup" which sets the environment variable FPCDIR
-   to point to the FreePascal folder.
-
-4. An entry in "FPC Startup" which adds the :FreePascal:bin folder to 
-   the Commando search path. 
-
-5. A fpc.cfg file in :FreePascal:bin, with among others, a path to
-   the runtime library (rtl).
-
-Uninstallation
---------------
-
-1. Delete the FreePascal folder.
-
-2. Delete the file "FPC Startup" from the folder "Startup Items" in MPW
-
-
-Tips
-----
-
-* Usage, in short: To compile e. g. hello.pp, in MPW type:
-    fpc hello.pp
-  And press ENTER. Done.
-
-* If you want to compile large programs, and in particular the rtl
-  or the compiler itself, please increase the memory setting of
-  MPW to 50 MB and ToolServer to 30 MB.
-
-* Note that unit Sysutils.pp is not yet ported to MacOS, thus units
-  dependant on Sysutils.pp does neither work.
-
-* To invoke the compiler you can either use the command 'ppcppc' or 'fpc'.
-  Fpc is a wrapper script which simply call 'ppcppc'
-
-* Use mac style search path's.
-
-* Limited debugging with Power Mac Debugger can be done. To enable this,
-  compile the program with the -g switch. Then debugging at source level,
-  with stepping etc, can be done. However variables cannot be inspected.
-
-Inner workings
---------------
-
-FreePascal for MPW is an MPW tool. When FreePascal wants to assemble
-and link, it calls PPCAsm and PPCLink, via ToolServer.
-
-More info
----------
-
-www.freepascal.org/fpcmac.html
-
-http://www.freepascal.org/wiki/index.php/Target_MacOS
-
-http://www.freepascal.org/wiki/index.php/Mode_MacPas

+ 0 - 27
install/macos/README

@@ -1,27 +0,0 @@
-To create a release, follow these steps:
-
-Build compiler and rtl by make cycle. (with MPW make)
-
-Build the MacOS unit (located in rtl dir) (make macos with MPWMake)
-
-Run the MPW script 'prepare' (with version no as parameter) to create
-an installer package (as a stuffit archive). E. g.:
-
-  prepare 1.9.6
-
-The installer package will consist of:
-
-1) 'Installer README' (renamed to README MacOS in the installer package)
-
-2) 'Install' (which in the installer package will get creator 'MPSX', so
-              that when doubleclicked, it will be run by ToolServer )
-
-3) A FreePascal folder, containing all files to be installed.
-
-NOTE maccopy is a help script for prepare.
-
-NOTE If you have a fresh checkout from cvs, you might need to set the filetypes
-of the scripts so that MPW eats them:
-  SetFile -c 'MPS ' -t 'TEXT' prepare maccopy
-
-

+ 0 - 9
install/macos/maccopy

@@ -1,9 +0,0 @@
-# Script to copy a file, and in the same moment
-# translate possible LF's to CR
-
-Duplicate -y "{1}" {TempFolder}maccopytemp
-SetFile -c 'MPS ' -t 'TEXT' {TempFolder}maccopytemp
-Translate ¶r ¶n < {TempFolder}maccopytemp  > "{2}"
-SetFile -c 'MPS ' -t 'TEXT' "{2}"
-#SetFile -c 'MPS ' -t 'TEXT' "{2}" -l `Evaluate {3}*100`,`Evaluate {4}*100`
-Delete -y {TempFolder}maccopytemp

+ 0 - 70
install/macos/prepare

@@ -1,70 +0,0 @@
-# MPW script to  prepare an installation package
-# Precondition: fpc:install:macos is current dir.
-# Parameter: version number, e. g. 1.9.6
-
-
-If {1} == ''
-  Echo '#ERROR FPC version must be given as parameter (e. g. 1.9.6)'
-  Exit 1
-Else
-  Set fpcversion "{1}"
-End
-
-Set compilerdir :::compiler:
-Set rtlunitsdir :::rtl:units:powerpc-macos:
-
-Set units "charset cmem dos getopts heaptrc macostp macpas macutils matrix objects objpas strings system unixutil macos"
-
-#Obtain path to compression program
-Set -e stuffapp `getFileName -m 'Tell me where the DroppStuff application is'`
-Set stuffolder ":fpc-{fpcversion}.powerpc-macos:"
-
-Set Exit 0
-Delete -y "{stuffolder}"  ³ Dev:Null
-Set Exit 1
-NewFolder "{stuffolder}"
-
-maccopy ::doc:readme.txt "{stuffolder}README" 1 1
-maccopy :"Installer README" "{stuffolder}README MacOS" 1 2
-maccopy :Install "{stuffolder}INSTALL" 1 3
-SetFile -c 'MPSX' -t 'TEXT' "{stuffolder}INSTALL"
-
-NewFolder "{stuffolder}FreePascal"
-NewFolder "{stuffolder}FreePascal:bin"
-Duplicate "{compilerdir}"ppcppc  "{stuffolder}FreePascal:bin"
-Duplicate "{compilerdir}"utils:ppudump  "{stuffolder}FreePascal:bin"
-Duplicate "{compilerdir}"utils:ppufiles  "{stuffolder}FreePascal:bin"
-Duplicate "{compilerdir}"utils:ppumove  "{stuffolder}FreePascal:bin"
-maccopy   "{compilerdir}"utils:fpc  "{stuffolder}FreePascal:bin:fpc"
-
-NewFolder "{stuffolder}FreePascal:docs"
-maccopy ::doc:readme.txt "{stuffolder}FreePascal:docs:README" 1 1
-maccopy :"Installer README" "{stuffolder}FreePascal:docs:README MacOS" 1 2
-maccopy ::doc:whatsnew.txt "{stuffolder}FreePascal:docs:Whatsnew" 2 1
-maccopy ::doc:copying.fpc "{stuffolder}FreePascal:docs:Copying.fpc" 2 2
-maccopy ::doc:copying "{stuffolder}FreePascal:docs:Copying" 2 3
-maccopy ::doc:faq.txt "{stuffolder}FreePascal:docs:FAQ" 3 1
-maccopy ::doc:faq.htm "{stuffolder}FreePascal:docs:FAQ.htm" 3 2
-SetFile -c 'MSIE' -t 'TEXT' "{stuffolder}FreePascal:docs:FAQ.htm"
-
-NewFolder "{stuffolder}FreePascal:units"
-NewFolder "{stuffolder}FreePascal:units:rtl"
-For unit In {units}
-  Duplicate "{rtlunitsdir}"{unit}.ppu  "{stuffolder}FreePascal:units:rtl"
-  Duplicate "{rtlunitsdir}"{unit}.o  "{stuffolder}FreePascal:units:rtl"
-End
-
-NewFolder "{stuffolder}FreePascal:demo"
-NewFolder "{stuffolder}FreePascal:demo:text"
-maccopy :::demo:text:blackbox.pp "{stuffolder}FreePascal:demo:text:blackbox.pp"
-maccopy :::demo:text:eratos.pp "{stuffolder}FreePascal:demo:text:eratos.pp"
-maccopy :::demo:text:hello.pp "{stuffolder}FreePascal:demo:text:hello.pp"
-maccopy :::demo:text:magic.pp "{stuffolder}FreePascal:demo:text:magic.pp"
-maccopy :::demo:text:qsort.pp "{stuffolder}FreePascal:demo:text:qsort.pp"
-NewFolder "{stuffolder}FreePascal:demo:macos"
-maccopy :::demo:macos:HelloMac.pp "{stuffolder}FreePascal:demo:macos:HelloMac.pp"
-maccopy :::demo:macos:HelloMac.r "{stuffolder}FreePascal:demo:macos:HelloMac.r"
-
-If "{stuffapp}" != ""
-  "{stuffapp}" "{stuffolder}"
-End

BIN
install/macosx/fpc-1.9.8.pmsp


+ 0 - 40
install/macosx/fpc.info

@@ -1,40 +0,0 @@
-Package: fpc
-Version: 1.9.8
-Revision: 1
-Source: ftp://ftp.freepascal.org/mirrors/fpc/beta/source-%v/%n-%v.source.tar.gz
-Source-MD5: 9b459ccf4273bde8e6f5e32cbd488ecc
-Source2: ftp://ftp.freepascal.org/mirrors/fpc/beta/source-%v/%n-%v.darwin.bootstrap.tar.gz
-Source2-MD5: 632dfd942aeea0155dea571654e86eb9
-SourceDirectory: fpc
-CompileScript: <<
-# replace /sw with the correct path in the default fpc.cfg file
-sed -e 's|/PREFIX|%p|g' -e 's|VERSION|%v|g' <%b/../fpc.cfg.in >%b/../fpc.cfg
-# compile the stuff
-make clean PP=%b/../ppcppc
-make compiler_cycle PP=%b/../ppcppc
-make -C rtl PP=%b/compiler/ppcppc OPT="-gl -g"
-make packages_base_all fcl PP=%b/compiler/ppcppc OPT="-gl -g"
-make packages_extra_all PP=%b/compiler/ppcppc OPT="-gl -g"
-make utils PP=%b/compiler/ppcppc DATA2INC=%b/utils/data2inc OPT="-gl -g"
-make fv ide PP=%b/compiler/ppcppc OPT="-gl -g"
-<<
-InstallScript: <<
-make compiler_install rtl_install utils_install INSTALL_PREFIX=%i PP=%b/compiler/ppcppc FPCMAKE=%b/utils/fpcm/fpcmake
-make fcl_install packages_install INSTALL_PREFIX=%i PP=%b/compiler/ppcppc FPCMAKE=%b/utils/fpcm/fpcmake
-make fv_install ide_install INSTALL_PREFIX=%i PP=%b/compiler/ppcppc FPCMAKE=%b/utils/fpcm/fpcmake
-mkdir %i/etc
-install -c -m 644 %b/../fpc.cfg %i/etc/
-<<
-ConfFiles: %p/etc/fpc.cfg
-License: GPL
-Description: Free Pascal (aka FPK Pascal) compiler
-DescDetail: <<
-Free Pascal (aka FPK Pascal) is a 32 or 64 bit (from 1.9.6) pascal compiler. It is available for different processors Intel x86, Amd64/x86Ê64 (from 1.9.6), PowerPC (from 1.9.2), Sparc (from 1.9.6) and Motorola 680x0 (1.0.x only). The following operating systems are supported Linux, FreeBSD, NetBSD, MacOSX/Darwin, MacOS classic, DOS, Win32, OS/2, BeOS, SunOS (Solaris), Netware (libc and classic), QNX and Classic Amiga. 
-
-The language syntax is semantically compatible with TP 7.0 as well as most versions of Delphi (classes, rtti, exceptions, ansistrings, widestrings, interfaces). Furthermore Free Pascal supports function overloading, operator overloading, global properties and other such features.
-<<
-DescPort: <<
- Nothing special, yet. ToDo: .fpc.cfg, fcl, docs, split of packages, fv&ide, lazarus.
-<<
-Homepage: http://www.freepascal.org
-Maintainer: Karl-Michael Schindler <[email protected]>

+ 0 - 1
install/macosx/resources/Dutch.lproj/InstallationCheck.strings

@@ -1 +0,0 @@
-"16" = "You have to install the Mac OS X developer tools before installing this package"

+ 0 - 1
install/macosx/resources/English.lproj/InstallationCheck.strings

@@ -1 +0,0 @@
-"16" = "You have to install the Mac OS X developer tools before installing this package"

+ 0 - 1
install/macosx/resources/German.lproj/InstallationCheck.strings

@@ -1 +0,0 @@
-"16" = "You have to install the Mac OS X developer tools before installing this package"

+ 0 - 8
install/macosx/resources/InstallationCheck

@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if test -f "$3"/usr/bin/gcc
-then
-  exit 0
-else
-  exit 112
-fi

+ 0 - 1
install/macosx/resources/InstallationCheck.strings

@@ -1 +0,0 @@
-"16" = "You have to install the Mac OS X developer tools before installing this package"

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
install/macosx/resources/License.txt


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 20
install/macosx/resources/ReadMe.txt


+ 0 - 7
install/macosx/resources/postflight

@@ -1,7 +0,0 @@
-#!/bin/sh
-
-version=`"$2"usr/local/bin/fpc -iV`
-"$2"usr/local/lib/fpc/"$version"/samplecfg "$2"usr/local/lib/fpc/"$version" "$4"/etc
-
-# remove obsolete documentation
-rm -f "$2"Developer/Documentation/Free\ Pascal\ Compiler/Free\ Component\ Library.pdf

+ 0 - 167
install/makepack

@@ -1,167 +0,0 @@
-#!/usr/bin/env bash
-#
-# Shell script to make a FPC .tar package for Linux
-# Copyright 1996-2004 Michael Van Canneyt and Peter Vreman
-#
-
-set -e
-
-# Set this to "yes" if you want to force making the documentation.
-# if it is not equal to yes, the documentation is assumed present in a file fpcdoc.tar.gz
-MAKEDOCS=no
-
-# Set this to "no" if you want don't want to check for libgdb.a
-CHECKLIBGDB=yes
-
-# avoid abort of script if FPCDIR isn't set
-FPCDIR=dummy
-unset FPCDIR
-
-# Goto the toplevel if necessary
-[ -d install ] || cd ..
-
-# Retrieve version from compiler/Makefile.fpc
-VERSION=`grep '^version' compiler/Makefile.fpc | sed 's+[^=]*= *\(.*\)+\1+'`
-
-# Retrieve current system info by calling FPC. We need
-# to use the | head -n1 to fix a bug in fpc 1.9.4 and earlier
-# that uses exitcode 1 also when printing info resulting in
-# fpc binary to print an error line (PFV)
-SOURCECPU=`fpc -iSP | head -n1`
-SOURCEOS=`fpc -iSO | head -n1`
-
-# retrieve real OS.
-HOSTOS=`uname -s | tr "[:upper:]" "[:lower:]"`
-
-MAKE=make
-
-case "$HOSTOS" in
- *BSD*) MAKE=gmake
-  ;;
- *bsd*) MAKE=gmake
-  ;;
-esac
-
-if [ $# -ne 0 ]; then
-  if [ $# -ne 1 ]; then
-    echo "Usage: makepack [<cpu>-<os>]"
-    exit 1
-  fi
-  TARGETCPU=`echo $1 | sed 's+\([^-]*\)-.*+\1+'`
-  TARGETOS=`echo $1 | sed 's+[^-]*-\(.*\)+\1+'`
-else
-  TARGETCPU=$SOURCECPU
-  TARGETOS=$SOURCEOS
-fi
-
-FULLTARGET=$TARGETCPU-$TARGETOS
-FULLSOURCE=$SOURCECPU-$SOURCEOS
-
-echo "FPC Source: $FULLSOURCE"
-echo "FPC Target: $FULLTARGET"
-
-# Cross building
-#  - add prefix
-#  - no IDE
-if [ "$FULLTARGET" != "$FULLSOURCE" ]; then
-   CROSS="cross"
-   CROSSPREFIX=$FULLTARGET-
-   IDE=
-else
-   CROSS=
-   CROSSPREFIX=
-   IDE=ide
-fi
-
-
-# Check for libgdb.a
-if [ "$CROSS" = "" ]; then
-  if [ "$CHECKLIBGDB" = "yes" ]; then
-    if [ "$GDBLIBDIR" = "" ]; then
-      GDBLIBDIR=libgdb/$TARGETOS/$TARGETCPU
-    fi
-    if [ ! -e "$GDBLIBDIR/libgdb.a" ]; then
-      echo "Libgdb ($GDBLIBDIR/libgdb.a) not found, aborting"
-      exit 1
-    fi
-  fi
-fi
-
-# First check for fpcdoc.tar.gz before building anything
-if [ "$CROSS" = "" ]; then
-  if [ ! -f doc-pdf.tar.gz ]; then
-    if [ "$MAKEDOCS" != "yes" ]; then
-      echo "No documentation available. Please copy the file doc-pdf.tar.gz to this directory."
-      exit 1
-    else
-      ${MAKE} makepackdocs
-      if [ $? != 0 ]; then
-        echo "Failed to make documentation archive."
-        exit 1
-      fi
-    fi
-  fi
-  ${MAKE}  demozip CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS FPC_VERSION=$VERSION
-  if [ $? != 0 ]; then
-    echo "Failed to make demo source archive."
-    exit 1
-  fi
-fi
-
-# check existence of binutils if cross packing
-if [ ! "$CROSS" = "" ]; then
-  if [ ! -f binutils-${CROSSPREFIX}$FULLSOURCE.tar.gz ]; then
-    echo "No cross binutils available: binutils-${CROSSPREFIX}$FULLSOURCE.tar.gz missing."
-    exit 1
-  fi
-fi
-
-# Build everything using the makefiles
-${MAKE} distclean CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS
-${MAKE} ${CROSS}zipinstall CPU_TARGET=$TARGETCPU OS_TARGET=$TARGETOS
-if [ $? != 0 ]; then
-  echo "Failed to make distribution archive."
-  exit 1
-fi
-
-# Files to be in the release
-RELFILES="install.sh"
-
-# install.sh
-echo "Copying install.sh"
-sed s+%version%+$VERSION+ install/install.sh > install.sh
-chmod 755 install.sh
-
-# binary.*.tar
-BINARYTAR=${CROSSPREFIX}binary.$FULLSOURCE.tar
-echo "Creating $BINARYTAR"
-BINPACKAGES="base $IDE units utils"
-BINFILES=
-for p in $BINPACKAGES; do
-  BINFILES="$BINFILES ${CROSSPREFIX}$p*.$FULLSOURCE.tar.gz"
-done
-tar cf $BINARYTAR $BINFILES
-if [ $? != 0 ]; then
-  echo "Failed to create $BINARYTAR"
-  exit 1
-fi
-RELFILES="$RELFILES $BINARYTAR"
-
-if [ "$CROSS" = "" ]; then
-  # no cross packing
-  # demo, docs
-  RELFILES="$RELFILES demo.tar.gz doc-pdf.tar.gz"
-else
-  # cross packing
-  # add cross binutils 
-  RELFILES="$RELFILES binutils-${CROSSPREFIX}$FULLSOURCE.tar.gz"
-fi
-
-# Files to be added to the .tar
-TARNAME=${CROSSPREFIX}fpc-$VERSION.$FULLSOURCE.tar
-echo "Creating $TARNAME"
-tar cf $TARNAME $RELFILES
-if [ $? != 0 ]; then
-  echo "Failed to create $TARNAME"
-  exit 1
-fi

+ 0 - 32
install/makesource

@@ -1,32 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ $# -ne 1 ]; then
-  echo "Usage: makesource <release>"
-  exit 1
-fi
-
-if [ -z $CVSROOT ]; then
-  echo "CVSROOT not set"
-  exit 1
-fi
-
-CVSTAGVER=`echo $1 | tr '.' '_'`
-CVSTAG="RELEASE_$CVSTAGVER"
-
-PACKNAME=fpc-$1.source
-OUTPUTDIR=..
-
-rm -rf buildsrc
-
-mkdir buildsrc
-cd buildsrc
-cvs -z3 checkout -r $CVSTAG fpc
-
-find -name CVS -type d | xargs tar --remove-files -cvf $OUTPUTDIR/CVSfiles-$1.tar.gz 
-
-rm -f $OUTPUTDIR/$PACKNAME.tar.gz $OUTPUTDIR/$PACKNAME.zip
-zip -D9r $OUTPUTDIR/$PACKNAME.zip fpc/
-tar cfv - fpc/ | gzip > $OUTPUTDIR/$PACKNAME.tar.gz
-rm -rf buildsrc

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff