Use console properties. Add the --no-utf8 and --color options.
This commit is contained in:
@@ -73,6 +73,7 @@ Short options:
|
|||||||
Long options:
|
Long options:
|
||||||
--allow-multiple-definition Allow multiple definitions
|
--allow-multiple-definition Allow multiple definitions
|
||||||
--cfg-path path Specify a config file search path
|
--cfg-path path Specify a config file search path
|
||||||
|
--color [on|auto|off] Color diagnostics (default: auto)
|
||||||
--config name Use linker config file
|
--config name Use linker config file
|
||||||
--dbgfile name Generate debug information
|
--dbgfile name Generate debug information
|
||||||
--define sym=val Define a symbol
|
--define sym=val Define a symbol
|
||||||
@@ -84,13 +85,13 @@ Long options:
|
|||||||
--lib-path path Specify a library search path
|
--lib-path path Specify a library search path
|
||||||
--mapfile name Create a map file
|
--mapfile name Create a map file
|
||||||
--module-id id Specify a module id
|
--module-id id Specify a module id
|
||||||
|
--no-utf8 Disable use of UTF-8 in diagnostics
|
||||||
--obj file Link this object file
|
--obj file Link this object file
|
||||||
--obj-path path Specify an object file search path
|
--obj-path path Specify an object file search path
|
||||||
--start-addr addr Set the default start address
|
--start-addr addr Set the default start address
|
||||||
--start-group Start a library group
|
--start-group Start a library group
|
||||||
--target sys Set the target system
|
--target sys Set the target system
|
||||||
--version Print the linker version
|
--version Print the linker version
|
||||||
--warnings-as-errors Treat warnings as errors
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
</verb></tscreen>
|
</verb></tscreen>
|
||||||
|
|
||||||
@@ -292,6 +293,14 @@ Here is a description of all of the command-line options:
|
|||||||
and in a built-in default directory.
|
and in a built-in default directory.
|
||||||
|
|
||||||
|
|
||||||
|
<label id="option--color">
|
||||||
|
<tag><tt>--color</tt></tag>
|
||||||
|
|
||||||
|
This option controls if the linker will use colors when printing
|
||||||
|
diagnostics. The default is "auto" which will enable colors if the output
|
||||||
|
goes to a terminal (not to a file).
|
||||||
|
|
||||||
|
|
||||||
<label id="option--dbgfile">
|
<label id="option--dbgfile">
|
||||||
<tag><tt>--dbgfile name</tt></tag>
|
<tag><tt>--dbgfile name</tt></tag>
|
||||||
|
|
||||||
@@ -315,6 +324,14 @@ Here is a description of all of the command-line options:
|
|||||||
type because of an unusual extension.
|
type because of an unusual extension.
|
||||||
|
|
||||||
|
|
||||||
|
<label id="option--no-utf8">
|
||||||
|
<tag><tt>--no-utf8</tt></tag>
|
||||||
|
|
||||||
|
Disable the use of UTF-8 characters in diagnostics. This might be necessary
|
||||||
|
if auto detection fails or if the output is captured for processing with a
|
||||||
|
tool that is not UTF-8 capable.
|
||||||
|
|
||||||
|
|
||||||
<tag><tt>--obj file</tt></tag>
|
<tag><tt>--obj file</tt></tag>
|
||||||
|
|
||||||
Links an object file to the output. Use this command-line option instead
|
Links an object file to the output. Use this command-line option instead
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
#include "asserts.h"
|
#include "asserts.h"
|
||||||
#include "binfmt.h"
|
#include "binfmt.h"
|
||||||
#include "condes.h"
|
#include "condes.h"
|
||||||
|
#include "consprop.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "dbgfile.h"
|
#include "dbgfile.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
@@ -130,6 +131,7 @@ static void Usage (void)
|
|||||||
"Long options:\n"
|
"Long options:\n"
|
||||||
" --allow-multiple-definition\tAllow multiple definitions\n"
|
" --allow-multiple-definition\tAllow multiple definitions\n"
|
||||||
" --cfg-path path\t\tSpecify a config file search path\n"
|
" --cfg-path path\t\tSpecify a config file search path\n"
|
||||||
|
" --color [on|auto|off]\t\tColor diagnostics (default: auto)\n"
|
||||||
" --config name\t\t\tUse linker config file\n"
|
" --config name\t\t\tUse linker config file\n"
|
||||||
" --dbgfile name\t\tGenerate debug information\n"
|
" --dbgfile name\t\tGenerate debug information\n"
|
||||||
" --define sym=val\t\tDefine a symbol\n"
|
" --define sym=val\t\tDefine a symbol\n"
|
||||||
@@ -141,6 +143,7 @@ static void Usage (void)
|
|||||||
" --lib-path path\t\tSpecify a library search path\n"
|
" --lib-path path\t\tSpecify a library search path\n"
|
||||||
" --mapfile name\t\tCreate a map file\n"
|
" --mapfile name\t\tCreate a map file\n"
|
||||||
" --module-id id\t\tSpecify a module id\n"
|
" --module-id id\t\tSpecify a module id\n"
|
||||||
|
" --no-utf8\t\t\tDisable use of UTF-8 in diagnostics\n"
|
||||||
" --obj file\t\t\tLink this object file\n"
|
" --obj file\t\t\tLink this object file\n"
|
||||||
" --obj-path path\t\tSpecify an object file search path\n"
|
" --obj-path path\t\tSpecify an object file search path\n"
|
||||||
" --start-addr addr\t\tSet the default start address\n"
|
" --start-addr addr\t\tSet the default start address\n"
|
||||||
@@ -310,6 +313,19 @@ static void OptCfgPath (const char* Opt attribute ((unused)), const char* Arg)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void OptColor(const char* Opt, const char* Arg)
|
||||||
|
/* Handle the --color option */
|
||||||
|
{
|
||||||
|
ColorMode Mode = CP_Parse (Arg);
|
||||||
|
if (Mode == CM_INVALID) {
|
||||||
|
Error ("Invalid argument to %s: %s", Opt, Arg);
|
||||||
|
} else {
|
||||||
|
CP_SetColorMode (Mode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void OptConfig (const char* Opt attribute ((unused)), const char* Arg)
|
static void OptConfig (const char* Opt attribute ((unused)), const char* Arg)
|
||||||
/* Define the config file */
|
/* Define the config file */
|
||||||
{
|
{
|
||||||
@@ -457,6 +473,15 @@ static void OptModuleId (const char* Opt, const char* Arg)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void OptNoUtf8 (const char* Opt attribute ((unused)),
|
||||||
|
const char* Arg attribute ((unused)))
|
||||||
|
/* Handle the --no-utf8 option */
|
||||||
|
{
|
||||||
|
CP_DisableUTF8 ();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void OptObj (const char* Opt attribute ((unused)), const char* Arg)
|
static void OptObj (const char* Opt attribute ((unused)), const char* Arg)
|
||||||
/* Link an object file */
|
/* Link an object file */
|
||||||
{
|
{
|
||||||
@@ -629,6 +654,7 @@ static void ParseCommandLine(void)
|
|||||||
static const LongOpt OptTab[] = {
|
static const LongOpt OptTab[] = {
|
||||||
{ "--allow-multiple-definition", 0, OptMultDef },
|
{ "--allow-multiple-definition", 0, OptMultDef },
|
||||||
{ "--cfg-path", 1, OptCfgPath },
|
{ "--cfg-path", 1, OptCfgPath },
|
||||||
|
{ "--color", 1, OptColor },
|
||||||
{ "--config", 1, CmdlOptConfig },
|
{ "--config", 1, CmdlOptConfig },
|
||||||
{ "--dbgfile", 1, OptDbgFile },
|
{ "--dbgfile", 1, OptDbgFile },
|
||||||
{ "--define", 1, OptDefine },
|
{ "--define", 1, OptDefine },
|
||||||
@@ -640,6 +666,7 @@ static void ParseCommandLine(void)
|
|||||||
{ "--lib-path", 1, OptLibPath },
|
{ "--lib-path", 1, OptLibPath },
|
||||||
{ "--mapfile", 1, OptMapFile },
|
{ "--mapfile", 1, OptMapFile },
|
||||||
{ "--module-id", 1, OptModuleId },
|
{ "--module-id", 1, OptModuleId },
|
||||||
|
{ "--no-utf8", 0, OptNoUtf8 },
|
||||||
{ "--obj", 1, OptObj },
|
{ "--obj", 1, OptObj },
|
||||||
{ "--obj-path", 1, OptObjPath },
|
{ "--obj-path", 1, OptObjPath },
|
||||||
{ "--start-addr", 1, OptStartAddr },
|
{ "--start-addr", 1, OptStartAddr },
|
||||||
@@ -800,6 +827,9 @@ int main (int argc, char* argv [])
|
|||||||
{
|
{
|
||||||
unsigned MemoryAreaOverflows;
|
unsigned MemoryAreaOverflows;
|
||||||
|
|
||||||
|
/* Initialize console output */
|
||||||
|
CP_Init ();
|
||||||
|
|
||||||
/* Initialize the cmdline module */
|
/* Initialize the cmdline module */
|
||||||
InitCmdLine (&argc, &argv, "ld65");
|
InitCmdLine (&argc, &argv, "ld65");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user