mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 22:58:50 +02:00
fixed LM_SETSIZE in InitializeWnd
git-svn-id: trunk@4332 -
This commit is contained in:
parent
49e6db0445
commit
9ef16aa5dc
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -193,6 +193,7 @@ designer/sizecompsdlg.pp svneol=native#text/pascal
|
||||
designer/taborderdlg.lfm svneol=native#text/plain
|
||||
designer/taborderdlg.lrs svneol=native#text/pascal
|
||||
designer/taborderdlg.pas svneol=native#text/pascal
|
||||
docs/CrossCompile.txt svneol=native#text/plain
|
||||
docs/ExtendingTheIDE.txt svneol=native#text/plain
|
||||
docs/LazarusIDEInternals.pdf -text svneol=unset#application/pdf
|
||||
docs/Packages.txt svneol=native#text/plain
|
||||
@ -932,6 +933,7 @@ packager/ufrmaddcomponent.pas svneol=native#text/pascal
|
||||
tools/apiwizz/apiwizard.pp svneol=native#text/pascal
|
||||
tools/apiwizz/apiwizz.pp svneol=native#text/pascal
|
||||
tools/check_ide_libs.sh -text svneol=native#application/x-sh
|
||||
tools/install/build_fpc_rpm.sh -text svneol=native#application/x-sh
|
||||
tools/install/create_fpc_deb.sh -text svneol=native#application/x-sh
|
||||
tools/install/create_fpc_export_tgz.sh -text svneol=native#application/x-sh
|
||||
tools/install/create_fpc_rpm.sh -text svneol=native#application/x-sh
|
||||
|
48
docs/CrossCompile.txt
Normal file
48
docs/CrossCompile.txt
Normal file
@ -0,0 +1,48 @@
|
||||
Hints to cross compile win32 binaries under linux
|
||||
|
||||
|
||||
UNDER CONSTRUCTION
|
||||
|
||||
|
||||
Thanks to Vincent Snijders for the hints.
|
||||
|
||||
1. Download the GNU Binary Utility Development Utilities. Most packages are
|
||||
outdated. So probably you want to compile them yourself:
|
||||
|
||||
Download sources:
|
||||
[]$ export CVSROOT=:pserver:anoncvs@sources.redhat.com:/cvs/src
|
||||
[]$ cvs login # password is anoncvs
|
||||
[]$ cvs -z3 co binutils
|
||||
|
||||
Configure:
|
||||
[]$ rm -rf build-binutils # remove up old build directory
|
||||
[]$ mkdir build-binutils # create a build directory (important)
|
||||
[]$ cd build-binutils
|
||||
[]$ ../src/configure --prefix=/usr/bin/crosswin32 --target=i386-pc-winnt
|
||||
|
||||
Build:
|
||||
[]$ make
|
||||
|
||||
Install:
|
||||
[]$ su # become root to install
|
||||
[]$ rm -rf /usr/bin/crosswin32 # remove old install
|
||||
[]$ rm -rf /usr/bin/{asw,ldw,windres,dlltool}
|
||||
[]$ make install
|
||||
[]$ ln -s /usr/bin/crosswin32/bin/i386-pc-winnt-as /usr/bin/asw
|
||||
[]$ ln -s /usr/bin/crosswin32/bin/i386-pc-winnt-ld /usr/bin/ldw
|
||||
ToDo: dlltool, windres
|
||||
|
||||
|
||||
4. Download or compile the win32 units (ppw,ow files for rtl, fcl). These files
|
||||
must be compatible (depending on the compiler probably 1.0.8 as of now).
|
||||
Install them next to the linux units in /usr/lib/fpc/1.0.x/units.
|
||||
|
||||
4.1 Download the win32 units: Currently you can download the win32 snapshots at
|
||||
ftp://ftp.freepascal.org/pub/fpc/snapshot/v10/win32-i386/
|
||||
|
||||
4.2 Compile the win32 units:
|
||||
Download the fpc sources. If you have already download them for linux, you can
|
||||
use them also for win32, because the compiled files have different names.
|
||||
|
||||
ToDo: rtl, fcl, ...
|
||||
|
@ -70,7 +70,14 @@ properly:
|
||||
|
||||
ToDo: Write me.
|
||||
|
||||
See www.freepascal.org.
|
||||
See http://www.freepascal.org/down-win32.html. You can find a list of mirrors
|
||||
at http://www.freepascal.org/sdown.html. Download for example fpc as one big
|
||||
file, unzip it and run the install.exe. Then extend your PATH variable to the
|
||||
fpc directory. For example under win98: Edit autoexec.bat and add the line
|
||||
PATH=%PATH%;C:\pp\bin\bin\win32
|
||||
Then restart win98.
|
||||
|
||||
ToDo: explain how to download fpc sources and build the compiler
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
@ -2570,8 +2570,6 @@ end;
|
||||
created. Place cached property code here.
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TWinControl.InitializeWnd;
|
||||
var
|
||||
R: TRect;
|
||||
begin
|
||||
Assert(False, Format('Trace:[TWinControl.InitializeWnd] %s', [ClassName]));
|
||||
// set all cached properties
|
||||
@ -2579,10 +2577,9 @@ begin
|
||||
// MWE:All of this should be handled to the interface create routine
|
||||
Assert(False, 'Trace:TODO: [TWinControl.InitializeWnd] move this code to the interface');
|
||||
|
||||
R:= Rect(Left, Top, Width, Height);
|
||||
//writeln('[TWinControl.InitializeWnd] ',Name,':',ClassName,' ',Left,',',Top,',',Width,',',Height);
|
||||
FBoundsRealized:=Bounds(Left, Top, Width, Height);
|
||||
CNSendMessage(LM_SETSIZE, Self, @R);
|
||||
CNSendMessage(LM_SETSIZE, Self, @FBoundsRealized);
|
||||
CNSendMessage(LM_SHOWHIDE, Self, nil);
|
||||
CNSendMessage(LM_SETCOLOR, Self, nil);
|
||||
Exclude(FFlags,wcfColorChanged);
|
||||
@ -2874,6 +2871,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.145 2003/06/28 12:10:02 mattias
|
||||
fixed LM_SETSIZE in InitializeWnd
|
||||
|
||||
Revision 1.144 2003/06/27 23:42:38 mattias
|
||||
fixed TScrollBar resizing
|
||||
|
||||
|
@ -2161,14 +2161,15 @@ begin
|
||||
SetFocus(Handle);
|
||||
end;
|
||||
|
||||
LM_SetSize :
|
||||
LM_SetSize:
|
||||
begin
|
||||
Assert(False, Format('Trace: [TgtkObject.IntSendMessage3] %s --> LM_SetSize(%d, %d, %d, %d)', [Sender.ClassNAme, PRect(Data)^.Left,PRect(Data)^.Top,PRect(Data)^.Right,PRect(Data)^.Bottom]));
|
||||
//writeln('[IntSendMessage3.lm_setsize] Left=',PRect(Data)^.Left,' Top=',PRect(Data)^.Top,
|
||||
// ' Right=',PRect(Data)^.Right,' Bottom=',PRect(Data)^.Bottom);
|
||||
//writeln('[LM_SetSize] A ',Sender.ClassName,' ',PgtkWidget(Handle)^.window<>nil);
|
||||
ResizeChild(Sender,PRect(Data)^.Left,PRect(Data)^.Top,
|
||||
PRect(Data)^.Right,PRect(Data)^.Bottom);
|
||||
PRect(Data)^.Right-PRect(Data)^.Left,
|
||||
PRect(Data)^.Bottom-PRect(Data)^.Top);
|
||||
//writeln('[LM_SetSize] B ',Sender.ClassName,' ',PgtkWidget(Handle)^.window<>nil);
|
||||
end;
|
||||
|
||||
@ -2176,9 +2177,9 @@ begin
|
||||
|
||||
LM_TB_BUTTONCOUNT:
|
||||
begin
|
||||
if (Sender is TToolbar)
|
||||
then Result := pgtkToolbar(handle)^.num_Children
|
||||
else Result := -1;
|
||||
if (Sender is TToolbar)
|
||||
then Result := pgtkToolbar(Handle)^.num_Children
|
||||
else Result := -1;
|
||||
end;
|
||||
|
||||
//SH: think of TCanvas.handle!!!!
|
||||
@ -7488,6 +7489,9 @@ end;
|
||||
{ =============================================================================
|
||||
|
||||
$Log$
|
||||
Revision 1.385 2003/06/28 12:10:02 mattias
|
||||
fixed LM_SETSIZE in InitializeWnd
|
||||
|
||||
Revision 1.384 2003/06/27 23:42:38 mattias
|
||||
fixed TScrollBar resizing
|
||||
|
||||
|
104
tools/install/build_fpc_rpm.sh
Normal file
104
tools/install/build_fpc_rpm.sh
Normal file
@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# parse parameters
|
||||
#------------------------------------------------------------------------------
|
||||
Usage="Usage: $0 [nodocs] [notemp] <FPCSrcDir> <release>"
|
||||
|
||||
WithDOCS=yes
|
||||
if [ "x$1" = "xnodocs" ]; then
|
||||
WithDOCS=no
|
||||
shift
|
||||
fi
|
||||
|
||||
WithTempDir=yes
|
||||
if [ "x$1" = "xnotemp" ]; then
|
||||
WithTempDir=no
|
||||
shift
|
||||
fi
|
||||
|
||||
FPCSourceDir=$1
|
||||
shift
|
||||
if [ "x$FPCSourceDir" = "x" ]; then
|
||||
echo $Usage
|
||||
exit -1
|
||||
fi
|
||||
|
||||
LazRelease=$1
|
||||
shift
|
||||
if [ "x$LazRelease" = "x" ]; then
|
||||
echo $Usage
|
||||
exit -1
|
||||
fi
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# patching
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
# create a temporary copy of the fpc sources to patch it
|
||||
TmpDir=/tmp/fpc_patchdir
|
||||
if [ "$WithTempDir" = "yes" ]; then
|
||||
rm -rf $TmpDir
|
||||
cp -a $FPCSourceDir $TmpDir
|
||||
else
|
||||
TmpDir=$FPCSourceDir
|
||||
fi
|
||||
|
||||
# retrieve the version information
|
||||
VersionFile="$TmpDir/compiler/version.pas"
|
||||
CompilerVersion=`cat $VersionFile | grep ' *version_nr *=.*;' | sed -e 's/[^0-9]//g'`
|
||||
CompilerRelease=`cat $VersionFile | grep ' *release_nr *=.*;' | sed -e 's/[^0-9]//g'`
|
||||
CompilerPatch=`cat $VersionFile | grep ' *patch_nr *=.*;' | sed -e 's/[^0-9]//g'`
|
||||
LazVersion="$CompilerVersion.$CompilerRelease.$CompilerPatch"
|
||||
|
||||
|
||||
SpecFile=$TmpDir/install/fpc.spec
|
||||
SrcPatch=fpcsrc-patch
|
||||
|
||||
# patch sources
|
||||
patch -p2 -d $TmpDir/ < $SrcPatch
|
||||
|
||||
# change spec file
|
||||
cat $SpecFile | \
|
||||
sed -e 's/^Version: .*/Version: '"$LazVersion/" \
|
||||
-e 's/^Release: .*/Release: '"$LazRelease/" \
|
||||
> $SpecFile.New
|
||||
# -e 's/^\%{fpcdir}\/samplecfg .*/%{fpcdir}\/samplecfg %{_libdir}\/fpc\/\\\$version/' \
|
||||
mv $SpecFile.New $SpecFile
|
||||
if [ "$WithDOCS" = "no" ]; then
|
||||
cat $SpecFile | \
|
||||
sed -e 's/^\(.*\bmake\b.*\bdocs\b\)/#\1/g' \
|
||||
-e 's/^\(%doc.*\*\.pdf\)/#\1/g' \
|
||||
> $SpecFile.New
|
||||
mv $SpecFile.New $SpecFile
|
||||
fi
|
||||
|
||||
# change Makefile for new rpmbuild, if not already done
|
||||
cd $TmpDir
|
||||
grep rpmbuild Makefile \
|
||||
|| cat Makefile | \
|
||||
sed -e 's/rpm\( --nodeps -ba .*\)$/rpm\1 || rpmbuild\1/g' \
|
||||
> New.Makefile
|
||||
mv New.Makefile Makefile
|
||||
cd -
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# compile
|
||||
#------------------------------------------------------------------------------
|
||||
cd $TmpDir
|
||||
#make rtl
|
||||
#make compiler
|
||||
if [ "$WithDOCS" = "no" ]; then
|
||||
make rpm NODOCS=1
|
||||
else
|
||||
make rpm
|
||||
fi
|
||||
cd -
|
||||
|
||||
# end.
|
||||
|
@ -1,8 +1,15 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Author: Mattias Gaertner
|
||||
#
|
||||
# Script to download fpc and create the rpms 'fpc' and 'fpcsrc'.
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# parse parameters
|
||||
#------------------------------------------------------------------------------
|
||||
Usage="Usage: $0 devel|stable [nodocs]"
|
||||
|
||||
FPCVersion=$1
|
||||
@ -66,41 +73,13 @@ cd $TmpDir
|
||||
tar xzf $SrcTGZ
|
||||
cd -
|
||||
|
||||
# patch sources
|
||||
patch -p2 -d $TmpDir/fpc/ < $SrcPatch
|
||||
|
||||
# change spec file
|
||||
cat $SpecFile | \
|
||||
sed -e 's/^Version: .*/Version: '"$LazVersion/" \
|
||||
-e 's/^Release: .*/Release: '"$LazRelease/" \
|
||||
> $SpecFile.New
|
||||
# -e 's/^\%{fpcdir}\/samplecfg .*/%{fpcdir}\/samplecfg %{_libdir}\/fpc\/\\\$version/' \
|
||||
mv $SpecFile.New $SpecFile
|
||||
if [ "$WithDOCS" = "no" ]; then
|
||||
cat $SpecFile | \
|
||||
sed -e 's/^\(.*\bmake\b.*\bdocs\b\)/#\1/g' \
|
||||
> $SpecFile.New
|
||||
mv $SpecFile.New $SpecFile
|
||||
fi
|
||||
|
||||
# change Makefile for new rpmbuild
|
||||
cd $TmpDir/fpc
|
||||
cat Makefile | \
|
||||
sed -e 's/rpm\( --nodeps -ba .*\)$/rpm\1 || rpmbuild\1/g' \
|
||||
> New.Makefile
|
||||
mv New.Makefile Makefile
|
||||
cd -
|
||||
|
||||
# compile
|
||||
cd $TmpDir/fpc
|
||||
make rtl
|
||||
make compiler
|
||||
Params="notemp $TmpDir/fpc $LazRelease"
|
||||
if [ "$WithDOCS" = "no" ]; then
|
||||
make rpm NODOCS=1
|
||||
else
|
||||
make rpm
|
||||
Params="nodocs $Params"
|
||||
fi
|
||||
cd -
|
||||
./build_fpc_rpm.sh $Params
|
||||
|
||||
|
||||
|
||||
echo
|
||||
|
Loading…
Reference in New Issue
Block a user