mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 01:19:38 +01:00 
			
		
		
		
	* windows unit include moved to wininc/
This commit is contained in:
		
							parent
							
								
									64dcafcf80
								
							
						
					
					
						commit
						5b55c02885
					
				@ -32,6 +32,7 @@ override CPU=i386
 | 
			
		||||
RTL=..
 | 
			
		||||
INC=$(RTL)/inc
 | 
			
		||||
PROCINC=$(RTL)/$(CPU)
 | 
			
		||||
WININC=wininc
 | 
			
		||||
 | 
			
		||||
# Unit dir
 | 
			
		||||
UNITDIR=.
 | 
			
		||||
@ -72,11 +73,9 @@ UNITOBJECTS=$(SYSTEMUNIT) objpas strings \
 | 
			
		||||
	    cpu mmx getopts heaptrc
 | 
			
		||||
 | 
			
		||||
# Files used by windows.pp
 | 
			
		||||
WINDOWS_FILES=base errors defines \
 | 
			
		||||
	struct ascfun ascdef \
 | 
			
		||||
	unifun unidef func
 | 
			
		||||
include $(WININC)/makefile.inc
 | 
			
		||||
 | 
			
		||||
WINDOWS_SOURCE_FILES=$(addsuffix .pp,$(WINDOWS_FILES))
 | 
			
		||||
WINDOWS_SOURCE_FILES=$(addprefix $(WININC)/,$(addsuffix .inc,$(WINDOWS_FILES)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
@ -205,10 +204,13 @@ strings$(PPUEXT) : $(INC)/strings.pp $(INC)/stringsi.inc\
 | 
			
		||||
# System Dependent Units
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
windows$(PPUEXT) : windows.pp redef.inc $(WINDOWS_SOURCE_FILES) $(SYSTEMPPU)
 | 
			
		||||
windows$(PPUEXT) : windows.pp $(WINDOWS_SOURCE_FILES) $(SYSTEMPPU)
 | 
			
		||||
	$(COMPILER) -I$(WININC) windows.pp $(REDIR)
 | 
			
		||||
 | 
			
		||||
ole2$(PPUEXT) : ole2.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
opengl32$(PPUEXT) : opengl32.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
winsock$(PPUEXT) : winsock.pp windows$(PPUEXT) $(SYSTEMPPU)
 | 
			
		||||
 | 
			
		||||
sockets$(PPUEXT) : sockets.pp windows$(PPUEXT) winsock$(PPUEXT) $(SYSTEMPPU) \
 | 
			
		||||
@ -256,189 +258,9 @@ heaptrc$(PPUEXT) : $(INC)/heaptrc.pp $(SYSTEMPPU)
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# windows.pp
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
# Getting DLL names
 | 
			
		||||
# not present in headers !!
 | 
			
		||||
 | 
			
		||||
# first get the list of all exported function names
 | 
			
		||||
# uses pedump
 | 
			
		||||
# for system dll 's
 | 
			
		||||
# gdi32.exp will contain all exported functions names of gdi32.dll
 | 
			
		||||
 | 
			
		||||
WINDOWS_DIR:=c\:/windows
 | 
			
		||||
 | 
			
		||||
%.exp : $(WINDOWS_DIR)/system/%.dll
 | 
			
		||||
	pedump $< > $*.tmp
 | 
			
		||||
	sed -n -e "s/Addr:\(.*\)Ord:\(.*\)Name: \(.*\)/@\3@/p" $*.tmp > $*.exp
 | 
			
		||||
#	-rm $*.tmp
 | 
			
		||||
 | 
			
		||||
%.exd : $(WINDOWS_DIR)/system/%.drv
 | 
			
		||||
	pedump $< > $*.tmp
 | 
			
		||||
	sed -n -e "s/Addr:\(.*\)Ord:\(.*\)Name: \(.*\)/@\3@/p" $*.tmp > $*.exd
 | 
			
		||||
#	-rm $*.tmp
 | 
			
		||||
 | 
			
		||||
# list of usefull dll's for windows.pp
 | 
			
		||||
dllexps : gdi32.exp kernel32.exp advapi32.exp user32.exp mapi32.exp  \
 | 
			
		||||
	comdlg32.exp shell32.exp mpr.exp comctl32.exp version.exp \
 | 
			
		||||
	opengl32.exp spoolss.exp winspool.exd
 | 
			
		||||
 | 
			
		||||
# get a complete listing of all system dll's
 | 
			
		||||
allexps : $(notdir $(patsubst %.dll,%.exp,$(wildcard $(WINDOWS_DIR)/system/*.dll)) \
 | 
			
		||||
	$(patsubst %.drv,%.exd,$(wildcard $(WINDOWS_DIR)/system/*.drv)))
 | 
			
		||||
 | 
			
		||||
# extract the dllnames for which the real dll file is not
 | 
			
		||||
# known yet
 | 
			
		||||
# func.lst will contain all functions for which we still do
 | 
			
		||||
# not know the origin DLL
 | 
			
		||||
%.lst : %.pp
 | 
			
		||||
	@$(ECHO) listing DLL function names of $*.pp
 | 
			
		||||
	sed -n -e "s/\(.*\)External_library name '\([^']*\)'\(.*\)/\2/p" $*.pp > $*.lst
 | 
			
		||||
 | 
			
		||||
# get the DLL name from the listing in .exp files
 | 
			
		||||
# of the current target
 | 
			
		||||
define grepname
 | 
			
		||||
$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
# creating of a sed script that
 | 
			
		||||
# will substitute all External_library
 | 
			
		||||
# by the real name of the DLL if found in exports files
 | 
			
		||||
 | 
			
		||||
# two stages
 | 
			
		||||
# because you cannot set a variable inside the commands
 | 
			
		||||
# Level 1 : set filename variable
 | 
			
		||||
# Level 2 :
 | 
			
		||||
%.sub : %.lst
 | 
			
		||||
	@$(ECHO) getting DLL file name for $*
 | 
			
		||||
	-rm $*.sub
 | 
			
		||||
	@$(ECHO) # Substitutions for $* >$*.sub
 | 
			
		||||
# call make for all names in lst file
 | 
			
		||||
# define LongList if there is an error
 | 
			
		||||
# because the list is too long
 | 
			
		||||
ifdef LongList
 | 
			
		||||
	$(foreach name,$(shell cat $*.lst),$(MAKE) subfile=$*.sub $(name).find ; )
 | 
			
		||||
else
 | 
			
		||||
	$(MAKE) subfile=$*.sub $(addsuffix .find,$(shell cat $*.lst))
 | 
			
		||||
endif
 | 
			
		||||
# resubstitute unfound ones !!
 | 
			
		||||
	@$(ECHO) s/external \'\' name \'\([^\']*\)\'/external\
 | 
			
		||||
	External_library name \'\1\'/ >>$*.sub
 | 
			
		||||
	@$(ECHO) # End of substitutions for $* >>$*.sub
 | 
			
		||||
 | 
			
		||||
# Change file according to function found in export
 | 
			
		||||
# list remaining unfound functions in $*.mis
 | 
			
		||||
%.npp : %.sub
 | 
			
		||||
	sed -f $*.sub $*.pp > $*.npp
 | 
			
		||||
	sed -n -e "s/\(.*\)External_library name \'\([^\']*\)\'\(.*\)/\2/p" $*.npp > $*.mis
 | 
			
		||||
 | 
			
		||||
%.find :
 | 
			
		||||
	@$(ECHO) $* is in $(grepname)
 | 
			
		||||
ifdef subfile
 | 
			
		||||
	@$(ECHO) s/external External_library name \'$*\'/external\
 | 
			
		||||
	\'$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))\'\
 | 
			
		||||
	name \'$*\'/ >>$(subfile)
 | 
			
		||||
else
 | 
			
		||||
	@$(ECHO) external \
 | 
			
		||||
	\'$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))\'\
 | 
			
		||||
	name $*
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
GNUWIN32LIBDIR=./
 | 
			
		||||
 | 
			
		||||
%.find2 :
 | 
			
		||||
	@$(ECHO) s/In archive \(.*\)/\1/p >find.sed
 | 
			
		||||
	@$(ECHO) s/\(.*\)___imp_$*@\(.*\)/found: $*/p >>find.sed
 | 
			
		||||
ifdef subfile
 | 
			
		||||
	sed -n -f find.sed alllibs.sym >> $(subfile)
 | 
			
		||||
else
 | 
			
		||||
	sed -n -f find.sed alllibs.sym > $*.res
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
missing : $(GNUWIN32LIBDIR)alllibs.sym $(addsuffix .lst,$(WINDOWS_FILES))
 | 
			
		||||
	-rm missing
 | 
			
		||||
	$(MAKE) subfile=missing $(addsuffix .find2,$(shell cat *.lst))
 | 
			
		||||
 | 
			
		||||
substmissing : missing
 | 
			
		||||
	dtou missing
 | 
			
		||||
	@$(ECHO) N > test.sed
 | 
			
		||||
	@$(ECHO) s/lib\(.*\)\.a:\nfound: \(.*\)/\1.dll : \2/p >> test.sed
 | 
			
		||||
	@$(ECHO) D >> test.sed
 | 
			
		||||
	sed -n -f test.sed missing > missing.tmp
 | 
			
		||||
	sed -e "s#\(.*\) : \(.*\)#s/external External_library name \'\2\'/external \'\1\' name \'\2\'/#" missing.tmp > missing.sub
 | 
			
		||||
 | 
			
		||||
dllnames:
 | 
			
		||||
	$(MAKE) $(addsuffix .lst,$(WINDOWS_FILES))
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	@$(ECHO) namelist of $(filename) is "$(namelist)"
 | 
			
		||||
 | 
			
		||||
# automatic conversion from ascfun.pp to ascdef.pp
 | 
			
		||||
# and unifun.pp to unidef.pp
 | 
			
		||||
# only if sed is present
 | 
			
		||||
ifdef SED
 | 
			
		||||
ascdef.pp : ascfun.pp ascdef.sed
 | 
			
		||||
	sed -f ascdef.sed ascfun.pp > ascdef.pp
 | 
			
		||||
 | 
			
		||||
unidef.pp : unifun.pp unidef.sed
 | 
			
		||||
	sed -f unidef.sed unifun.pp > unidef.pp
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# $Log$
 | 
			
		||||
# Revision 1.35  1999-08-13 15:36:38  peter
 | 
			
		||||
#   * dependencies for crt fixed
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.34  1999/06/21 12:41:33  florian
 | 
			
		||||
#   * minor typos in winsock.pp fixed
 | 
			
		||||
#   + makefile for sockets.pp updated
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.33  1999/06/18 13:59:49  florian
 | 
			
		||||
#   * changes for the winsock unit
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.32  1999/06/10 15:02:15  peter
 | 
			
		||||
#   * last fixes for 0.99.12 release
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.31  1999/05/13 22:38:03  peter
 | 
			
		||||
#   * -Sg for heaptrc
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.30  1999/05/10 19:34:06  florian
 | 
			
		||||
#   * moved all opengl32.dll stuff to a newly created opengl32 unit, so
 | 
			
		||||
#     win32 programs should also run on Windows without opengl32.dll
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.29  1999/05/05 22:24:09  peter
 | 
			
		||||
#   * 0.99.10 check for browser
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.28  1999/05/04 11:59:52  peter
 | 
			
		||||
#   * browser off by default
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.27  1999/04/28 11:42:50  peter
 | 
			
		||||
#   + FileNameCaseSensetive boolean
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.26  1999/04/22 10:56:33  peter
 | 
			
		||||
#   * fixed sysutils dependencys
 | 
			
		||||
#   * objpas files are agian in the main Makefile, makefile.op is obsolete
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.25  1999/04/20 11:34:11  peter
 | 
			
		||||
#   + crt unit that compiles
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.24  1999/03/22 22:12:50  florian
 | 
			
		||||
#   + addition and changes to compile the direct draw unit
 | 
			
		||||
#     of Erik Ungerer (with -dv2com and indirect disabled)
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.23  1999/03/16 00:47:10  peter
 | 
			
		||||
#   * makefile.fpc targets start with fpc_
 | 
			
		||||
#   * small updates for install scripts
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.22  1999/03/12 21:02:19  michael
 | 
			
		||||
# +  clean and libsclean added
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.21  1999/03/10 23:45:21  peter
 | 
			
		||||
#   * AS is now always asw
 | 
			
		||||
#
 | 
			
		||||
# Revision 1.20  1999/03/09 01:35:56  peter
 | 
			
		||||
#   * makefile.fpc updates and defaultfpcdir var
 | 
			
		||||
# Revision 1.36  1999-09-16 13:38:07  peter
 | 
			
		||||
#   * windows unit include moved to wininc/
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
@ -22,44 +22,43 @@ unit windows;
 | 
			
		||||
 | 
			
		||||
{$define read_interface}
 | 
			
		||||
{$undef read_implementation}
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
{$message starting interface of windows unit }
 | 
			
		||||
 | 
			
		||||
{$i base.pp}
 | 
			
		||||
{$i errors.pp}
 | 
			
		||||
{$i defines.pp}
 | 
			
		||||
{$i messages.pp}
 | 
			
		||||
{$i struct.pp}
 | 
			
		||||
{$i base.inc}
 | 
			
		||||
{$i errors.inc}
 | 
			
		||||
{$i defines.inc}
 | 
			
		||||
{$i messages.inc}
 | 
			
		||||
{$i struct.inc}
 | 
			
		||||
{$i redef.inc}
 | 
			
		||||
{$i ascfun.pp}
 | 
			
		||||
{$i unifun.pp}
 | 
			
		||||
{$i ascfun.inc}
 | 
			
		||||
{$i unifun.inc}
 | 
			
		||||
{$ifdef UNICODE}
 | 
			
		||||
{$i unidef.pp}
 | 
			
		||||
{$i unidef.inc}
 | 
			
		||||
{$else not UNICODE}
 | 
			
		||||
{$i ascdef.pp}
 | 
			
		||||
{$i ascdef.inc}
 | 
			
		||||
{$endif UNICODE}
 | 
			
		||||
{$i func.pp}
 | 
			
		||||
{$i func.inc}
 | 
			
		||||
 | 
			
		||||
  implementation
 | 
			
		||||
 | 
			
		||||
{$undef read_interface}
 | 
			
		||||
{$define read_implementation}
 | 
			
		||||
  
 | 
			
		||||
const External_library='kernel32';
 | 
			
		||||
 | 
			
		||||
{$i base.pp}
 | 
			
		||||
{$i errors.pp}
 | 
			
		||||
{$i defines.pp}
 | 
			
		||||
{$i messages.pp}
 | 
			
		||||
{$i struct.pp}
 | 
			
		||||
{$i ascfun.pp}
 | 
			
		||||
{$i unifun.pp}
 | 
			
		||||
{$i base.inc}
 | 
			
		||||
{$i errors.inc}
 | 
			
		||||
{$i defines.inc}
 | 
			
		||||
{$i messages.inc}
 | 
			
		||||
{$i struct.inc}
 | 
			
		||||
{$i ascfun.inc}
 | 
			
		||||
{$i unifun.inc}
 | 
			
		||||
{$ifdef UNICODE}
 | 
			
		||||
{$i unidef.pp}
 | 
			
		||||
{$i unidef.inc}
 | 
			
		||||
{$else not UNICODE}
 | 
			
		||||
{$i ascdef.pp}
 | 
			
		||||
{$i ascdef.inc}
 | 
			
		||||
{$endif UNICODE}
 | 
			
		||||
{$i func.pp}
 | 
			
		||||
{$i func.inc}
 | 
			
		||||
 | 
			
		||||
  procedure InitializeCriticalSection(var CriticalSection : TRTLCriticalSection); external 'kernel32' name 'InitializeCriticalSection';
 | 
			
		||||
  procedure EnterCriticalSection(var CriticalSection : TRTLCriticalSection); external 'kernel32' name 'EnterCriticalSection';
 | 
			
		||||
  procedure LeaveCriticalSection(var CriticalSection : TRTLCriticalSection); external 'kernel32' name 'LeaveCriticalSection';
 | 
			
		||||
@ -68,7 +67,10 @@ const External_library='kernel32';
 | 
			
		||||
end.
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.3  1999-05-10 19:34:15  florian
 | 
			
		||||
  Revision 1.4  1999-09-16 13:38:21  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  1999/05/10 19:34:15  florian
 | 
			
		||||
    * moved all opengl32.dll stuff to a newly created opengl32 unit, so
 | 
			
		||||
      win32 programs should also run on Windows without opengl32.dll
 | 
			
		||||
 | 
			
		||||
@ -76,7 +78,7 @@ end.
 | 
			
		||||
    * some updates to compile API units for win32
 | 
			
		||||
 | 
			
		||||
  Revision 1.1  1998/08/31 11:54:02  pierre
 | 
			
		||||
    * compilable windows.pp file
 | 
			
		||||
    * compilable windows.inc file
 | 
			
		||||
      still to do :
 | 
			
		||||
       - findout problems
 | 
			
		||||
       - findout the correct DLL for each call !!
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										165
									
								
								rtl/win32/wininc/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										165
									
								
								rtl/win32/wininc/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,165 @@
 | 
			
		||||
#
 | 
			
		||||
#   $Id$
 | 
			
		||||
#   This file is part of the Free Pascal run time library.
 | 
			
		||||
#   Copyright (c) 1996-98 by Michael van Canneyt
 | 
			
		||||
#
 | 
			
		||||
#   Makefile for the Free Pascal windows.pp include files
 | 
			
		||||
#
 | 
			
		||||
#   See the file COPYING.FPC, included in this distribution,
 | 
			
		||||
#   for details about the copyright.
 | 
			
		||||
#
 | 
			
		||||
#   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.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Warning: this file contains TAB (#9) characters that are required for
 | 
			
		||||
# make. Make sure you use an editor that does not replace TABs with
 | 
			
		||||
# spaces, or the makefile won't work anymore after you save.
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# Defaults
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
ECHO=echo
 | 
			
		||||
 | 
			
		||||
# Files used by windows.pp
 | 
			
		||||
include makefile.inc
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################################################
 | 
			
		||||
# windows.pp
 | 
			
		||||
#####################################################################
 | 
			
		||||
 | 
			
		||||
# default target
 | 
			
		||||
all: ascdef.inc unidef.inc
 | 
			
		||||
 | 
			
		||||
# Getting DLL names
 | 
			
		||||
# not present in headers !!
 | 
			
		||||
 | 
			
		||||
# first get the list of all exported function names
 | 
			
		||||
# uses pedump
 | 
			
		||||
# for system dll 's
 | 
			
		||||
# gdi32.exp will contain all exported functions names of gdi32.dll
 | 
			
		||||
 | 
			
		||||
WINDOWS_DIR:=c\:/windows
 | 
			
		||||
 | 
			
		||||
%.exp : $(WINDOWS_DIR)/system/%.dll
 | 
			
		||||
	pedump $< > $*.tmp
 | 
			
		||||
	sed -n -e "s/Addr:\(.*\)Ord:\(.*\)Name: \(.*\)/@\3@/p" $*.tmp > $*.exp
 | 
			
		||||
#	-rm $*.tmp
 | 
			
		||||
 | 
			
		||||
%.exd : $(WINDOWS_DIR)/system/%.drv
 | 
			
		||||
	pedump $< > $*.tmp
 | 
			
		||||
	sed -n -e "s/Addr:\(.*\)Ord:\(.*\)Name: \(.*\)/@\3@/p" $*.tmp > $*.exd
 | 
			
		||||
#	-rm $*.tmp
 | 
			
		||||
 | 
			
		||||
# list of usefull dll's for windows.pp
 | 
			
		||||
dllexps : gdi32.exp kernel32.exp advapi32.exp user32.exp mapi32.exp  \
 | 
			
		||||
	comdlg32.exp shell32.exp mpr.exp comctl32.exp version.exp \
 | 
			
		||||
	opengl32.exp spoolss.exp winspool.exd
 | 
			
		||||
 | 
			
		||||
# get a complete listing of all system dll's
 | 
			
		||||
allexps : $(notdir $(patsubst %.dll,%.exp,$(wildcard $(WINDOWS_DIR)/system/*.dll)) \
 | 
			
		||||
	$(patsubst %.drv,%.exd,$(wildcard $(WINDOWS_DIR)/system/*.drv)))
 | 
			
		||||
 | 
			
		||||
# extract the dllnames for which the real dll file is not
 | 
			
		||||
# known yet
 | 
			
		||||
# func.lst will contain all functions for which we still do
 | 
			
		||||
# not know the origin DLL
 | 
			
		||||
%.lst : %.inc
 | 
			
		||||
	@$(ECHO) listing DLL function names of $*.inc
 | 
			
		||||
	sed -n -e "s/\(.*\)External_library name '\([^']*\)'\(.*\)/\2/p" $*.inc > $*.lst
 | 
			
		||||
 | 
			
		||||
# get the DLL name from the listing in .exp files
 | 
			
		||||
# of the current target
 | 
			
		||||
define grepname
 | 
			
		||||
$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
# creating of a sed script that
 | 
			
		||||
# will substitute all External_library
 | 
			
		||||
# by the real name of the DLL if found in exports files
 | 
			
		||||
 | 
			
		||||
# two stages
 | 
			
		||||
# because you cannot set a variable inside the commands
 | 
			
		||||
# Level 1 : set filename variable
 | 
			
		||||
# Level 2 :
 | 
			
		||||
%.sub : %.lst
 | 
			
		||||
	@$(ECHO) getting DLL file name for $*
 | 
			
		||||
	-rm $*.sub
 | 
			
		||||
	@$(ECHO) # Substitutions for $* >$*.sub
 | 
			
		||||
# call make for all names in lst file
 | 
			
		||||
# define LongList if there is an error
 | 
			
		||||
# because the list is too long
 | 
			
		||||
ifdef LongList
 | 
			
		||||
	$(foreach name,$(shell cat $*.lst),$(MAKE) subfile=$*.sub $(name).find ; )
 | 
			
		||||
else
 | 
			
		||||
	$(MAKE) subfile=$*.sub $(addsuffix .find,$(shell cat $*.lst))
 | 
			
		||||
endif
 | 
			
		||||
# resubstitute unfound ones !!
 | 
			
		||||
	@$(ECHO) s/external \'\' name \'\([^\']*\)\'/external\
 | 
			
		||||
	External_library name \'\1\'/ >>$*.sub
 | 
			
		||||
	@$(ECHO) # End of substitutions for $* >>$*.sub
 | 
			
		||||
 | 
			
		||||
# Change file according to function found in export
 | 
			
		||||
# list remaining unfound functions in $*.mis
 | 
			
		||||
%.npp : %.sub
 | 
			
		||||
	sed -f $*.sub $*.inc > $*.npp
 | 
			
		||||
	sed -n -e "s/\(.*\)External_library name \'\([^\']*\)\'\(.*\)/\2/p" $*.npp > $*.mis
 | 
			
		||||
 | 
			
		||||
%.find :
 | 
			
		||||
	@$(ECHO) $* is in $(grepname)
 | 
			
		||||
ifdef subfile
 | 
			
		||||
	@$(ECHO) s/external External_library name \'$*\'/external\
 | 
			
		||||
	\'$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))\'\
 | 
			
		||||
	name \'$*\'/ >>$(subfile)
 | 
			
		||||
else
 | 
			
		||||
	@$(ECHO) external \
 | 
			
		||||
	\'$(filter %.dll %.drv ,$(subst .exd:,.drv ,$(subst .exp:,.dll ,$(shell grep @$*@ *.ex*))))\'\
 | 
			
		||||
	name $*
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
GNUWIN32LIBDIR=./
 | 
			
		||||
 | 
			
		||||
%.find2 :
 | 
			
		||||
	@$(ECHO) s/In archive \(.*\)/\1/p >find.sed
 | 
			
		||||
	@$(ECHO) s/\(.*\)___imp_$*@\(.*\)/found: $*/p >>find.sed
 | 
			
		||||
ifdef subfile
 | 
			
		||||
	sed -n -f find.sed alllibs.sym >> $(subfile)
 | 
			
		||||
else
 | 
			
		||||
	sed -n -f find.sed alllibs.sym > $*.res
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
missing : $(GNUWIN32LIBDIR)alllibs.sym $(addsuffix .lst,$(WINDOWS_FILES))
 | 
			
		||||
	-rm missing
 | 
			
		||||
	$(MAKE) subfile=missing $(addsuffix .find2,$(shell cat *.lst))
 | 
			
		||||
 | 
			
		||||
substmissing : missing
 | 
			
		||||
	dtou missing
 | 
			
		||||
	@$(ECHO) N > test.sed
 | 
			
		||||
	@$(ECHO) s/lib\(.*\)\.a:\nfound: \(.*\)/\1.dll : \2/p >> test.sed
 | 
			
		||||
	@$(ECHO) D >> test.sed
 | 
			
		||||
	sed -n -f test.sed missing > missing.tmp
 | 
			
		||||
	sed -e "s#\(.*\) : \(.*\)#s/external External_library name \'\2\'/external \'\1\' name \'\2\'/#" missing.tmp > missing.sub
 | 
			
		||||
 | 
			
		||||
dllnames:
 | 
			
		||||
	$(MAKE) $(addsuffix .lst,$(WINDOWS_FILES))
 | 
			
		||||
 | 
			
		||||
test:
 | 
			
		||||
	@$(ECHO) namelist of $(filename) is "$(namelist)"
 | 
			
		||||
 | 
			
		||||
# automatic conversion from ascfun.inc to ascdef.inc
 | 
			
		||||
# and unifun.inc to unidef.inc
 | 
			
		||||
ascdef.inc : ascfun.inc ascdef.sed
 | 
			
		||||
	sed -f ascdef.sed ascfun.inc > ascdef.inc
 | 
			
		||||
 | 
			
		||||
unidef.inc : unifun.inc unidef.sed
 | 
			
		||||
	sed -f unidef.sed unifun.inc > unidef.inc
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# $Log$
 | 
			
		||||
# Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
#   * windows unit include moved to wininc/
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
@ -1822,7 +1822,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.14  1999-07-14 08:46:26  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.14  1999/07/14 08:46:26  florian
 | 
			
		||||
    * some fixes (KEY_EVENT_STRUCT was wrong)
 | 
			
		||||
 | 
			
		||||
  Revision 1.11  1999/07/06 22:44:10  florian
 | 
			
		||||
@ -1822,7 +1822,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.11  1999-07-06 22:44:10  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.11  1999/07/06 22:44:10  florian
 | 
			
		||||
    * some fixes to compile ddraw units from the jedi project
 | 
			
		||||
 | 
			
		||||
  Revision 1.10  1999/07/05 14:47:43  florian
 | 
			
		||||
@ -962,7 +962,10 @@ end.
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.12  1999-04-20 11:36:10  peter
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.12  1999/04/20 11:36:10  peter
 | 
			
		||||
    * compatibility fixes
 | 
			
		||||
 | 
			
		||||
  Revision 1.11  1999/03/30 17:00:22  peter
 | 
			
		||||
@ -5718,7 +5718,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.11  1999-07-09 21:12:23  michael
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.11  1999/07/09 21:12:23  michael
 | 
			
		||||
  Fix in HKEY_DYN_DATA
 | 
			
		||||
 | 
			
		||||
  Revision 1.10  1999/06/01 19:23:11  peter
 | 
			
		||||
@ -26,8 +26,10 @@ unit errors;
 | 
			
		||||
 | 
			
		||||
{  Automatically converted by H2PAS.EXE from errors.h
 | 
			
		||||
   Utility made by Florian Klaempfl 25th-28th september 96
 | 
			
		||||
   Improvements made by Mark A. Malakanov 22nd-25th may 97 
 | 
			
		||||
   Further improvements by Michael Van Canneyt, April 1998 
 | 
			
		||||
   Improvements made by Mark A. Malakanov 22nd-25th may 97
 | 
			
		||||
 | 
			
		||||
   Further improvements by Michael Van Canneyt, April 1998
 | 
			
		||||
 | 
			
		||||
   define handling and error recovery by Pierre Muller, June 1998 }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -38,33 +40,43 @@ unit errors;
 | 
			
		||||
  { C default packing is dword }
 | 
			
		||||
 | 
			
		||||
{$PACKRECORDS 4}
 | 
			
		||||
  { 
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
     Errors.h
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Windows32 API error codes
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Copyright (C) 1996 Free Software Foundation, Inc.
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Author: Scott Christley <scottc@net-community.com>
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     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 <scottc@net-community.com> 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, 
 | 
			
		||||
     If not, write to the Free Software Foundation,
 | 
			
		||||
 | 
			
		||||
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | 
			
		||||
   }
 | 
			
		||||
{$ifndef _GNU_H_WINDOWS32_ERROR}
 | 
			
		||||
@ -758,7 +770,10 @@ end.
 | 
			
		||||
{$endif windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.1  1998-08-31 11:53:56  pierre
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.1  1998/08/31 11:53:56  pierre
 | 
			
		||||
    * compilable windows.pp file
 | 
			
		||||
      still to do :
 | 
			
		||||
       - findout problems
 | 
			
		||||
@ -3536,7 +3536,8 @@ in define line 6852 *)
 | 
			
		||||
    function DescribePixelFormat(_para1:HDC; _para2:longint; _para3:UINT; _para4:LPPIXELFORMATDESCRIPTOR):longint;
 | 
			
		||||
 | 
			
		||||
(* Const before type ignored *)
 | 
			
		||||
    function SetPixelFormat(_para1:HDC; _para2:longint; 
 | 
			
		||||
    function SetPixelFormat(_para1:HDC; _para2:longint;
 | 
			
		||||
 | 
			
		||||
       _para3:PPIXELFORMATDESCRIPTOR):WINBOOL;
 | 
			
		||||
 | 
			
		||||
    function SwapBuffers(_para1:HDC):WINBOOL;
 | 
			
		||||
@ -6622,7 +6623,8 @@ in define line 6826 *)
 | 
			
		||||
 | 
			
		||||
{    function GetPixelFormat(_para1:HDC):longint; external 'gdi32' name 'GetPixelFormat'; }
 | 
			
		||||
 | 
			
		||||
    function SetPixelFormat(_para1:HDC; _para2:longint; 
 | 
			
		||||
    function SetPixelFormat(_para1:HDC; _para2:longint;
 | 
			
		||||
 | 
			
		||||
      _para3:PPIXELFORMATDESCRIPTOR):WINBOOL; external 'gdi32' name 'SetPixelFormat';
 | 
			
		||||
 | 
			
		||||
    function SwapBuffers(_para1:HDC):WINBOOL; external 'gdi32' name 'SwapBuffers';
 | 
			
		||||
@ -6698,7 +6700,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.12  1999-07-06 22:44:12  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:22  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.12  1999/07/06 22:44:12  florian
 | 
			
		||||
    * some fixes to compile ddraw units from the jedi project
 | 
			
		||||
 | 
			
		||||
  Revision 1.11  1999/05/10 19:34:10  florian
 | 
			
		||||
							
								
								
									
										3
									
								
								rtl/win32/wininc/makefile.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								rtl/win32/wininc/makefile.inc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
WINDOWS_FILES=base errors defines struct redef \
 | 
			
		||||
              ascfun ascdef unifun unidef func
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,10 @@ unit messages;
 | 
			
		||||
 | 
			
		||||
{  Automatically converted by H2PAS.EXE from messages.h
 | 
			
		||||
   Utility made by Florian Klaempfl 25th-28th september 96
 | 
			
		||||
   Improvements made by Mark A. Malakanov 22nd-25th may 97 
 | 
			
		||||
   Further improvements by Michael Van Canneyt, April 1998 
 | 
			
		||||
   Improvements made by Mark A. Malakanov 22nd-25th may 97
 | 
			
		||||
 | 
			
		||||
   Further improvements by Michael Van Canneyt, April 1998
 | 
			
		||||
 | 
			
		||||
   define handling and error recovery by Pierre Muller, June 1998 }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -39,33 +41,43 @@ unit messages;
 | 
			
		||||
  { C default packing is dword }
 | 
			
		||||
 | 
			
		||||
{$PACKRECORDS 4}
 | 
			
		||||
  { 
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
     Messages.h
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Windows32 API message definitions
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Copyright (C) 1996 Free Software Foundation, Inc.
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     Author: Scott Christley <scottc@net-community.com>
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
     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 <scottc@net-community.com> 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, 
 | 
			
		||||
     If not, write to the Free Software Foundation,
 | 
			
		||||
 | 
			
		||||
     59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 | 
			
		||||
   }
 | 
			
		||||
  { WARNING:  This file is automatically generated.  }
 | 
			
		||||
@ -1198,7 +1210,10 @@ end.
 | 
			
		||||
{$endif windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.4  1998-08-31 11:53:58  pierre
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:23  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.4  1998/08/31 11:53:58  pierre
 | 
			
		||||
    * compilable windows.pp file
 | 
			
		||||
      still to do :
 | 
			
		||||
       - findout problems
 | 
			
		||||
@ -102,7 +102,10 @@ type
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.4  1999-06-18 13:59:50  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:24  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.4  1999/06/18 13:59:50  florian
 | 
			
		||||
    * changes for the winsock unit
 | 
			
		||||
 | 
			
		||||
  Revision 1.3  1999/04/20 11:36:16  peter
 | 
			
		||||
@ -6927,7 +6927,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.10  1999-07-14 08:46:27  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:24  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.10  1999/07/14 08:46:27  florian
 | 
			
		||||
    * some fixes (KEY_EVENT_STRUCT was wrong)
 | 
			
		||||
 | 
			
		||||
  Revision 1.9  1999/05/19 16:22:03  peter
 | 
			
		||||
@ -1837,7 +1837,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.13  1999-07-14 08:46:29  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:24  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.13  1999/07/14 08:46:29  florian
 | 
			
		||||
    * some fixes (KEY_EVENT_STRUCT was wrong)
 | 
			
		||||
 | 
			
		||||
  Revision 1.10  1999/07/06 22:44:17  florian
 | 
			
		||||
@ -1837,7 +1837,10 @@ end.
 | 
			
		||||
{$endif not windows_include_files}
 | 
			
		||||
{
 | 
			
		||||
  $Log$
 | 
			
		||||
  Revision 1.10  1999-07-06 22:44:17  florian
 | 
			
		||||
  Revision 1.1  1999-09-16 13:38:24  peter
 | 
			
		||||
    * windows unit include moved to wininc/
 | 
			
		||||
 | 
			
		||||
  Revision 1.10  1999/07/06 22:44:17  florian
 | 
			
		||||
    * some fixes to compile ddraw units from the jedi project
 | 
			
		||||
 | 
			
		||||
  Revision 1.9  1999/05/10 19:34:14  florian
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user