mirror of
https://github.com/cc65/cc65.git
synced 2024-12-25 17:29:50 +00:00
53dd513176
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://svn.cc65.org/cc65/trunk@3 b7a2c559-68d2-44c3-8de9-860c34a00d81
153 lines
4.3 KiB
Plaintext
153 lines
4.3 KiB
Plaintext
|
|
|
|
ar65
|
|
|
|
An Archiver for Object Files Generated by ca65
|
|
|
|
(C) Copyright 1998-1999 Ullrich von Bassewitz
|
|
(uz@musoftware.de)
|
|
|
|
|
|
|
|
Contents
|
|
--------
|
|
|
|
1. Overview
|
|
|
|
2. Usage
|
|
|
|
3. Bugs/Feedback
|
|
|
|
4. Copyright
|
|
|
|
|
|
|
|
1. Overview
|
|
-----------
|
|
|
|
ar65 is a replacement for the libr65 archiver that was part of the cc65 C
|
|
compiler suite developed by John R. Dunning. libr65 had some problems and
|
|
the copyright does not permit some things which I wanted to be possible,
|
|
so I decided to write a completely new assembler/linker/archiver suite
|
|
for the cc65 compiler. ar65 is part of this suite.
|
|
|
|
|
|
|
|
2. Usage
|
|
--------
|
|
|
|
The archiver is called as follows:
|
|
|
|
Usage: ar65 <operation> lib file|module ...
|
|
Operation is one of:
|
|
a Add modules
|
|
d Delete modules
|
|
l List library contents
|
|
x Extract modules
|
|
X Print the archiver version
|
|
|
|
|
|
You may add modules to a library using the `a' command. If the library
|
|
does not exist, it is created (and a warning message is printed which you
|
|
may ignore if creation of the library was your intention). You may
|
|
specify any number of modules on the command line following the library.
|
|
|
|
If a module with the same name exists in the library, it is replaced by
|
|
the new one. The archiver prints a warning, if the module in the library
|
|
has a newer timestamp than the one to add.
|
|
|
|
Here's an example:
|
|
|
|
ar65 a mysubs.lib sub1.o sub2.o
|
|
|
|
This will add two modules to the library `mysubs.lib' creating the
|
|
library if necessary. If the library contains modules named sub1.o or
|
|
sub2.o, they are replaced by the new ones.
|
|
|
|
Modules names in the library are stored without the path, so, using
|
|
|
|
ar65 a mysubs.lib ofiles/sub1.o ofiles/sub2.o
|
|
|
|
will add two modules named `sub1.o' and `sub2.o' to the library.
|
|
|
|
|
|
Deleting modules from a library is done with the `d' command. You may not
|
|
give a path when naming the modules.
|
|
|
|
Example:
|
|
|
|
ar65 d mysubs.lib sub1.o
|
|
|
|
This will delete the module named `sub1.o' from the library, printing an
|
|
error if the library does not contain that module.
|
|
|
|
|
|
The `l' command prints a list of all modules in the library. Any module
|
|
names on the command line are ignored.
|
|
|
|
Example:
|
|
|
|
ar65 l mysubs.lib
|
|
|
|
|
|
Using the `x' command, you may extract modules from the library. The
|
|
modules named on the command line are extracted from the library and put
|
|
into the current directory.
|
|
|
|
Note: Because of the indexing done by the archiver, the modules may have
|
|
a changed binary layout, that is, a binary compare with the old module
|
|
(before importing it into the library) may yield differences. The
|
|
extracted modules are accepted by the linker and archiver, however, so
|
|
this is not a problem.
|
|
|
|
Example for extracting a module from the library:
|
|
|
|
ar65 x mysubs.lib sub1.o
|
|
|
|
|
|
The `V' command prints the version number of the assembler. If you send
|
|
any suggestions or bugfixes, please include your version number.
|
|
|
|
In addition to these operations, the archiver will check for, and warn
|
|
about duplicate external symbols in the library, every time when an
|
|
operation does update the library. This is only a warning, the linker
|
|
will ignore one of the duplicate symbols (which one is unspecified).
|
|
|
|
|
|
|
|
3. Bugs/Feedback
|
|
----------------
|
|
|
|
If you have problems using the archiver, if you find any bugs, or if
|
|
you're doing something interesting with it, I would be glad to hear from
|
|
you. Feel free to contact me by email (uz@musoftware.de).
|
|
|
|
|
|
|
|
4. Copyright
|
|
------------
|
|
|
|
ar65 (and all cc65 binutils) are (C) Copyright 1998 Ullrich von Bassewitz.
|
|
For usage of the binaries and/or sources the following conditions do
|
|
apply:
|
|
|
|
This software is provided 'as-is', without any expressed or implied
|
|
warranty. In no event will the authors be held liable for any damages
|
|
arising from the use of this software.
|
|
|
|
Permission is granted to anyone to use this software for any purpose,
|
|
including commercial applications, and to alter it and redistribute it
|
|
freely, subject to the following restrictions:
|
|
|
|
1. The origin of this software must not be misrepresented; you must not
|
|
claim that you wrote the original software. If you use this software
|
|
in a product, an acknowledgment in the product documentation would be
|
|
appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must not
|
|
be misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source
|
|
distribution.
|
|
|
|
|
|
|