1
0
mirror of https://github.com/cc65/cc65.git synced 2024-09-27 19:55:09 +00:00

Added -u as an alias for --force-import. Updated command line option infos in

the cl65 and ld65 docs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4061 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2009-08-28 10:23:19 +00:00
parent e0643a9f77
commit 7f143d77d1
4 changed files with 39 additions and 24 deletions

View File

@ -44,6 +44,7 @@ Short options:
-o name Name the output file
-r Enable register variables
-t sys Set the target system
-u sym Force an import of symbol `sym'
-v Verbose mode
-vm Verbose map file
-C name Use linker config file
@ -83,6 +84,7 @@ Long options:
--debug Debug mode
--debug-info Add debug info
--feature name Set an emulation feature
--force-import sym Force an import of symbol `sym'
--forget-inc-paths Forget include search paths (compiler)
--help Help (this text)
--include-dir dir Set a compiler include directory path

View File

@ -67,6 +67,7 @@ Short options:
-m name Create a map file
-o name Name the default output file
-t sys Set the target system
-u sym Force an import of symbol `sym'
-v Verbose mode
-vm Verbose map file
@ -175,6 +176,22 @@ Here is a description of all the command line options:
supported.
<tag><tt>-u sym[:addrsize], --force-import sym[:addrsize]</tt></tag>
Force an import of a symbol. While object files are always linked to the
output file, regardless if there are any references, object modules from
libraries get only linked in if an import can be satisfied by this module.
The <tt/--fore-import/ option may be used to add a reference to a symbol and
as a result force linkage of the module that exports the identifier.
The name of the symbol may optionally be followed by a colon and an address
size specifier. If no address size is specified, the default address size
for the target machine is used.
Please note that the symbol name needs to have the internal representation,
meaning you have to prepend an underline for C identifiers.
<label id="option-v">
<tag><tt>-v, --verbose</tt></tag>
@ -264,22 +281,6 @@ Here is a description of all the command line options:
file and it's contents are subject to change without further notice.
<tag><tt>--force-import sym[:addrsize]</tt></tag>
Force an import of a symbol. While object files are always linked to the
output file, regardless if there are any references, object modules from
libraries get only linked in if an import can be satisfied by this module.
The <tt/--fore-import/ option may be used to add a reference to a symbol and
as a result force linkage of the module that exports the identifier.
The name of the symbol may be followed by a colon and an address size
specifier. If no address size is specified, the default address size
for the target machine is used.
Please note that the symbol name needs to have the internal representation,
meaning you have to prepend an underline for C identifiers.
<tag><tt>--lib file</tt></tag>
Links a library to the output. Use this command line option instead of just

View File

@ -636,6 +636,7 @@ static void Usage (void)
" -o name\t\tName the output file\n"
" -r\t\t\tEnable register variables\n"
" -t sys\t\tSet the target system\n"
" -u sym\t\tForce an import of symbol `sym'\n"
" -v\t\t\tVerbose mode\n"
" -vm\t\t\tVerbose map file\n"
" -C name\t\tUse linker config file\n"
@ -675,6 +676,7 @@ static void Usage (void)
" --debug\t\tDebug mode\n"
" --debug-info\t\tAdd debug info\n"
" --feature name\tSet an emulation feature\n"
" --force-import sym\tForce an import of symbol `sym'\n"
" --forget-inc-paths\tForget include search paths (compiler)\n"
" --help\t\tHelp (this text)\n"
" --include-dir dir\tSet a compiler include directory path\n"
@ -880,8 +882,8 @@ static void OptFeature (const char* Opt attribute ((unused)), const char* Arg)
static void OptForceImport (const char* Opt attribute ((unused)), const char* Arg)
/* Emulation features for the assembler */
{
CmdAddArg2 (&LD65, "--force-import", Arg);
}
CmdAddArg2 (&LD65, "-u", Arg);
}
@ -1358,6 +1360,11 @@ int main (int argc, char* argv [])
OptTarget (Arg, GetArg (&I, 2));
break;
case 'u':
/* Force an import (linker) */
OptForceImport (Arg, GetArg (&I, 2));
break;
case 'v':
if (Arg [2] == 'm') {
/* Verbose map file (linker) */

View File

@ -105,6 +105,7 @@ static void Usage (void)
" -m name\t\tCreate a map file\n"
" -o name\t\tName the default output file\n"
" -t sys\t\tSet the target system\n"
" -u sym\t\tForce an import of symbol `sym'\n"
" -v\t\t\tVerbose mode\n"
" -vm\t\t\tVerbose map file\n"
"\n"
@ -353,7 +354,7 @@ static void OptForceImport (const char* Opt attribute ((unused)), const char* Ar
if (ColPos == 0) {
/* Use default address size (which for now is always absolute
* addressing)
* addressing)
*/
InsertImport (GenImport (Arg, ADDR_SIZE_ABS));
@ -572,16 +573,20 @@ int main (int argc, char* argv [])
case 't':
if (CfgAvail ()) {
Error ("Cannot use -C/-t twice");
Error ("Cannot use -C/-t twice");
}
OptTarget (Arg, GetArg (&I, 2));
break;
case 'u':
OptForceImport (Arg, GetArg (&I, 2));
break;
case 'v':
switch (Arg [2]) {
case 'm': VerboseMap = 1; break;
case '\0': ++Verbosity; break;
default: UnknownOption (Arg);
case '\0': ++Verbosity; break;
default: UnknownOption (Arg);
}
break;
@ -596,8 +601,8 @@ int main (int argc, char* argv [])
case 'L':
switch (Arg [2]) {
/* ## The first one is obsolete and will go */
case 'n': LabelFileName = GetArg (&I, 3); break;
default: OptLibPath (Arg, GetArg (&I, 2)); break;
case 'n': LabelFileName = GetArg (&I, 3); break;
default: OptLibPath (Arg, GetArg (&I, 2)); break;
}
break;