+ added unit owomflib (empty for now), which is going to contain the internal

.lib writer for i8086-msdos

git-svn-id: trunk@30643 -
This commit is contained in:
nickysn 2015-04-18 09:49:38 +00:00
parent 27b1fb0439
commit cebd3de630
4 changed files with 70 additions and 9 deletions

1
.gitattributes vendored
View File

@ -532,6 +532,7 @@ compiler/optutils.pas svneol=native#text/plain
compiler/optvirt.pas svneol=native#text/plain compiler/optvirt.pas svneol=native#text/plain
compiler/owar.pas svneol=native#text/plain compiler/owar.pas svneol=native#text/plain
compiler/owbase.pas svneol=native#text/plain compiler/owbase.pas svneol=native#text/plain
compiler/owomflib.pas svneol=native#text/plain
compiler/parabase.pas svneol=native#text/plain compiler/parabase.pas svneol=native#text/plain
compiler/paramgr.pas svneol=native#text/plain compiler/paramgr.pas svneol=native#text/plain
compiler/parser.pas svneol=native#text/plain compiler/parser.pas svneol=native#text/plain

View File

@ -194,7 +194,7 @@ Implementation
cpuinfo, cpuinfo,
{$endif m68k or arm} {$endif m68k or arm}
aasmcpu, aasmcpu,
owbase,owar owbase,owar,owomflib
; ;
var var

37
compiler/owomflib.pas Normal file
View File

@ -0,0 +1,37 @@
{
Copyright (c) 2015 by Nikolay Nikolov
Contains the stuff for writing Relocatable Object Module Format (OMF)
libraries directly. This is the object format used on the i8086-msdos
platform (also known as .lib files in the dos world, even though Free
Pascal uses the extension .a).
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.
****************************************************************************
}
unit owomflib;
{$i fpcdefs.inc}
interface
uses
cclasses,
owbase;
implementation
end.

View File

@ -28,7 +28,7 @@
<LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/> <LaunchingApplication PathPlusParams="\usr\X11R6\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>
</local> </local>
</RunParams> </RunParams>
<Units Count="237"> <Units Count="238">
<Unit0> <Unit0>
<Filename Value="pp.pas"/> <Filename Value="pp.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -58,11 +58,11 @@
<Unit6> <Unit6>
<Filename Value="i8086\cpupi.pas"/> <Filename Value="i8086\cpupi.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cpupi"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="i8086\cputarg.pas"/> <Filename Value="i8086\cputarg.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cputarg"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="i8086\hlcgcpu.pas"/> <Filename Value="i8086\hlcgcpu.pas"/>
@ -160,6 +160,7 @@
<Unit29> <Unit29>
<Filename Value="x86\aasmcpu.pas"/> <Filename Value="x86\aasmcpu.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="aasmcpu"/>
</Unit29> </Unit29>
<Unit30> <Unit30>
<Filename Value="x86\agx86int.pas"/> <Filename Value="x86\agx86int.pas"/>
@ -169,7 +170,6 @@
<Unit31> <Unit31>
<Filename Value="x86\cga.pas"/> <Filename Value="x86\cga.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cga"/>
</Unit31> </Unit31>
<Unit32> <Unit32>
<Filename Value="x86\hlcgx86.pas"/> <Filename Value="x86\hlcgx86.pas"/>
@ -179,6 +179,7 @@
<Unit33> <Unit33>
<Filename Value="x86\itcpugas.pas"/> <Filename Value="x86\itcpugas.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="itcpugas"/>
</Unit33> </Unit33>
<Unit34> <Unit34>
<Filename Value="x86\itx86int.pas"/> <Filename Value="x86\itx86int.pas"/>
@ -191,14 +192,17 @@
<Unit36> <Unit36>
<Filename Value="x86\rax86.pas"/> <Filename Value="x86\rax86.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="rax86"/>
</Unit36> </Unit36>
<Unit37> <Unit37>
<Filename Value="x86\rax86att.pas"/> <Filename Value="x86\rax86att.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="rax86att"/>
</Unit37> </Unit37>
<Unit38> <Unit38>
<Filename Value="x86\rax86int.pas"/> <Filename Value="x86\rax86int.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="Rax86int"/>
</Unit38> </Unit38>
<Unit39> <Unit39>
<Filename Value="i8086\n8086cnv.pas"/> <Filename Value="i8086\n8086cnv.pas"/>
@ -286,6 +290,7 @@
<Unit57> <Unit57>
<Filename Value="cgutils.pas"/> <Filename Value="cgutils.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cgutils"/>
</Unit57> </Unit57>
<Unit58> <Unit58>
<Filename Value="cutils.pas"/> <Filename Value="cutils.pas"/>
@ -310,10 +315,12 @@
<Unit62> <Unit62>
<Filename Value="psub.pas"/> <Filename Value="psub.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="psub"/>
</Unit62> </Unit62>
<Unit63> <Unit63>
<Filename Value="ngenutil.pas"/> <Filename Value="ngenutil.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ngenutil"/>
</Unit63> </Unit63>
<Unit64> <Unit64>
<Filename Value="pinline.pas"/> <Filename Value="pinline.pas"/>
@ -332,6 +339,7 @@
<Unit67> <Unit67>
<Filename Value="dbgdwarf.pas"/> <Filename Value="dbgdwarf.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="dbgdwarf"/>
</Unit67> </Unit67>
<Unit68> <Unit68>
<Filename Value="symdef.pas"/> <Filename Value="symdef.pas"/>
@ -346,6 +354,7 @@
<Unit70> <Unit70>
<Filename Value="psystem.pas"/> <Filename Value="psystem.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="psystem"/>
</Unit70> </Unit70>
<Unit71> <Unit71>
<Filename Value="symconst.pas"/> <Filename Value="symconst.pas"/>
@ -440,6 +449,7 @@
<Unit92> <Unit92>
<Filename Value="cgbase.pas"/> <Filename Value="cgbase.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cgbase"/>
</Unit92> </Unit92>
<Unit93> <Unit93>
<Filename Value="ncgcnv.pas"/> <Filename Value="ncgcnv.pas"/>
@ -461,6 +471,7 @@
<Unit97> <Unit97>
<Filename Value="aasmbase.pas"/> <Filename Value="aasmbase.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="aasmbase"/>
</Unit97> </Unit97>
<Unit98> <Unit98>
<Filename Value="aasmdata.pas"/> <Filename Value="aasmdata.pas"/>
@ -469,10 +480,12 @@
<Unit99> <Unit99>
<Filename Value="aasmsym.pas"/> <Filename Value="aasmsym.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="aasmsym"/>
</Unit99> </Unit99>
<Unit100> <Unit100>
<Filename Value="aggas.pas"/> <Filename Value="aggas.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="aggas"/>
</Unit100> </Unit100>
<Unit101> <Unit101>
<Filename Value="agjasmin.pas"/> <Filename Value="agjasmin.pas"/>
@ -498,6 +511,7 @@
<Unit106> <Unit106>
<Filename Value="aoptobj.pas"/> <Filename Value="aoptobj.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="AoptObj"/>
</Unit106> </Unit106>
<Unit107> <Unit107>
<Filename Value="assemble.pas"/> <Filename Value="assemble.pas"/>
@ -529,7 +543,6 @@
<Unit113> <Unit113>
<Filename Value="cfileutl.pas"/> <Filename Value="cfileutl.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="cfileutl"/>
</Unit113> </Unit113>
<Unit114> <Unit114>
<Filename Value="cg64f32.pas"/> <Filename Value="cg64f32.pas"/>
@ -661,7 +674,6 @@
<Unit144> <Unit144>
<Filename Value="macho.pas"/> <Filename Value="macho.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="macho"/>
</Unit144> </Unit144>
<Unit145> <Unit145>
<Filename Value="machoutils.pas"/> <Filename Value="machoutils.pas"/>
@ -674,11 +686,11 @@
<Unit147> <Unit147>
<Filename Value="ncgbas.pas"/> <Filename Value="ncgbas.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ncgbas"/>
</Unit147> </Unit147>
<Unit148> <Unit148>
<Filename Value="ncgflw.pas"/> <Filename Value="ncgflw.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ncgflw"/>
</Unit148> </Unit148>
<Unit149> <Unit149>
<Filename Value="ncgmat.pas"/> <Filename Value="ncgmat.pas"/>
@ -699,6 +711,7 @@
<Unit153> <Unit153>
<Filename Value="ncgrtti.pas"/> <Filename Value="ncgrtti.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ncgrtti"/>
</Unit153> </Unit153>
<Unit154> <Unit154>
<Filename Value="ncgset.pas"/> <Filename Value="ncgset.pas"/>
@ -712,6 +725,7 @@
<Unit156> <Unit156>
<Filename Value="ngtcon.pas"/> <Filename Value="ngtcon.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ngtcon"/>
</Unit156> </Unit156>
<Unit157> <Unit157>
<Filename Value="nobj.pas"/> <Filename Value="nobj.pas"/>
@ -744,6 +758,7 @@
<Unit164> <Unit164>
<Filename Value="objcgutl.pas"/> <Filename Value="objcgutl.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="objcgutl"/>
</Unit164> </Unit164>
<Unit165> <Unit165>
<Filename Value="objcutil.pas"/> <Filename Value="objcutil.pas"/>
@ -762,7 +777,6 @@
<Unit168> <Unit168>
<Filename Value="oglx.pas"/> <Filename Value="oglx.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="oglx"/>
</Unit168> </Unit168>
<Unit169> <Unit169>
<Filename Value="ogmacho.pas"/> <Filename Value="ogmacho.pas"/>
@ -777,7 +791,6 @@
<Unit171> <Unit171>
<Filename Value="ognlm.pas"/> <Filename Value="ognlm.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="ognlm"/>
</Unit171> </Unit171>
<Unit172> <Unit172>
<Filename Value="optbase.pas"/> <Filename Value="optbase.pas"/>
@ -786,6 +799,7 @@
<Unit173> <Unit173>
<Filename Value="optconstprop.pas"/> <Filename Value="optconstprop.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="optconstprop"/>
</Unit173> </Unit173>
<Unit174> <Unit174>
<Filename Value="optcse.pas"/> <Filename Value="optcse.pas"/>
@ -874,6 +888,7 @@
<Unit194> <Unit194>
<Filename Value="procinfo.pas"/> <Filename Value="procinfo.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="procinfo"/>
</Unit194> </Unit194>
<Unit195> <Unit195>
<Filename Value="pstatmnt.pas"/> <Filename Value="pstatmnt.pas"/>
@ -891,6 +906,7 @@
<Unit198> <Unit198>
<Filename Value="raatt.pas"/> <Filename Value="raatt.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="raatt"/>
</Unit198> </Unit198>
<Unit199> <Unit199>
<Filename Value="rabase.pas"/> <Filename Value="rabase.pas"/>
@ -903,6 +919,7 @@
<Unit201> <Unit201>
<Filename Value="rautils.pas"/> <Filename Value="rautils.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="RAUtils"/>
</Unit201> </Unit201>
<Unit202> <Unit202>
<Filename Value="regvars.pas"/> <Filename Value="regvars.pas"/>
@ -966,6 +983,7 @@
<Unit216> <Unit216>
<Filename Value="version.pas"/> <Filename Value="version.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="version"/>
</Unit216> </Unit216>
<Unit217> <Unit217>
<Filename Value="widestr.pas"/> <Filename Value="widestr.pas"/>
@ -1053,6 +1071,11 @@
<Filename Value="i8086\aoptcpud.pas"/> <Filename Value="i8086\aoptcpud.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit236> </Unit236>
<Unit237>
<Filename Value="owomflib.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="owomflib"/>
</Unit237>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>