diff options
author | wkrenn <wkrenn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-05 16:57:23 +0000 |
---|---|---|
committer | wkrenn <wkrenn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2010-12-05 16:57:23 +0000 |
commit | 31e737ac32c194e74632b801a845597ca5010bbf (patch) | |
tree | 5d5c18e4c755fe093ef5cca1ced0a47dd9e5abe9 | |
parent | 1294767ca0296670b2471dc4bf62a243b88b0ea4 (diff) | |
download | fpc-wkrenn.tar.gz |
+ plan that was posted on the devel listwkrenn
+ initial rtl-package test project
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/wkrenn@16509 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | dynpackages/Plan.txt | 53 | ||||
-rw-r--r-- | dynpackages/compiler/ppx86_64.lpi | 28 | ||||
-rw-r--r-- | dynpackages/tests/packages/test1/rtl.ppk | 6 |
3 files changed, 80 insertions, 7 deletions
diff --git a/dynpackages/Plan.txt b/dynpackages/Plan.txt new file mode 100644 index 0000000000..84566c71e8 --- /dev/null +++ b/dynpackages/Plan.txt @@ -0,0 +1,53 @@ +Proposed Definitions +~~~~~~~~~~~~~~~~~~~~ + <File>.ppl Free-Pascal Package Library + (shared module, Delphi: bpl) + <File>.ppk Free-Pascal Package + (source, Delphi: dpk) + <File>.pcp Free-Pascal Compiled Packge + (header, ppu's, Delphi: dcp) + (skip package collections for now) + + -Fp<Name> packages to compile an application width + -FP<Dir> separate pcp search directory + +-> M1 +~~~~~ +Goal: - Compile System unit into a "fpcrtl.ppl" + - Create a simple application that uses fpcrtl.ppl. + -> Perhaps some simple string sorting program. + +Idea: Create a TPackageModule class, might be some descendant of + TPpuModule or TModule, that holds the information found in the + ppk. Don't include the ppu files in the ppk (yet). + + Change pmodules.proc_package to load all units found in the + packages of the requires section, create idata for the ppl, + create pcp file. + + Add command line parameter (-Fp) so that applications can be + compiled with packages. Change pmodules.proc_program to pre-load + all units of all referenced packages. + +-> M2 +~~~~~ +Goal: - RTTI in ppk + - Basic OOP support in ppk (ClassInfo etc.) + - Include all ppu information in pcp file + +To Consider: + Add Name mangling for RTTI (etc.) if not yet existant. + + Find code in the rtl that needs to be changed (if any). + + Threads/Thread Local Storage? + + Tests. + +-> M3 +~~~~~ +Goal: - Implement missing functionality + (Weakpackage, CompilerSwitches...) + - Provide ppk files for class library + - add tests + - merge into trunk diff --git a/dynpackages/compiler/ppx86_64.lpi b/dynpackages/compiler/ppx86_64.lpi index 830394947e..d6fb4abf3b 100644 --- a/dynpackages/compiler/ppx86_64.lpi +++ b/dynpackages/compiler/ppx86_64.lpi @@ -1,8 +1,8 @@ <?xml version="1.0"?> <CONFIG> <ProjectOptions> + <Version Value="9"/> <PathDelim Value="\"/> - <Version Value="7"/> <General> <Flags> <MainUnitHasUsesSectionForAllUnits Value="False"/> @@ -12,9 +12,11 @@ </Flags> <SessionStorage Value="InProjectDir"/> <MainUnit Value="0"/> - <TargetFileExt Value=".exe"/> <Title Value="pp"/> </General> + <BuildModes Count="1"> + <Item1 Name="default" Default="True"/> + </BuildModes> <PublishOptions> <Version Value="2"/> <DestinationDirectory Value="$(TestDir)\publishedproject\"/> @@ -24,6 +26,7 @@ <RunParams> <local> <FormatVersion Value="1"/> + <CommandLineParams Value="C:\source\fpcrepo\dynpackages\tests\packages\test1\rtl.ppk"/> <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> </local> </RunParams> @@ -41,14 +44,14 @@ </Units> </ProjectOptions> <CompilerOptions> - <Version Value="8"/> + <Version Value="9"/> <PathDelim Value="\"/> <Target> <Filename Value="x86_64\pp"/> </Target> <SearchPaths> - <IncludeFiles Value="x86_64\"/> - <OtherUnitFiles Value="x86_64\;x86\;systems\"/> + <IncludeFiles Value="x86_64"/> + <OtherUnitFiles Value="x86_64;x86;systems"/> <UnitOutputDirectory Value="x86_64\lazbuild"/> </SearchPaths> <Parsing> @@ -56,11 +59,18 @@ <CStyleOperator Value="False"/> <AllowLabel Value="False"/> <CPPInline Value="False"/> + <UseAnsiStrings Value="False"/> </SyntaxOptions> </Parsing> + <CodeGeneration> + <Optimizations> + <OptimizationLevel Value="0"/> + </Optimizations> + </CodeGeneration> <Linking> <Debugging> <GenerateDebugInfo Value="True"/> + <GenerateDwarf Value="True"/> </Debugging> </Linking> <Other> @@ -72,8 +82,12 @@ <ConfigFile> <StopAfterErrCount Value="50"/> </ConfigFile> - <CustomOptions Value="-dx86_64 -"/> + <CompilerMessages> + <UseMsgFile Value="True"/> + <MsgFileName Value="C:\source\fpcrepo\build\msg\errord.msg"/> + <ErrorNames Hint="Hinweis" Note="Anmerkung" Warning="Warnung" Error="Fehler" Fatal="Fataler Fehler"/> + </CompilerMessages> + <CustomOptions Value="-dx86_64"/> <CompilerPath Value="$(CompPath)"/> </Other> </CompilerOptions> diff --git a/dynpackages/tests/packages/test1/rtl.ppk b/dynpackages/tests/packages/test1/rtl.ppk new file mode 100644 index 0000000000..6c092612bf --- /dev/null +++ b/dynpackages/tests/packages/test1/rtl.ppk @@ -0,0 +1,6 @@ +package rtl; + +contains + system; + +end. |