mirror of
https://github.com/cc65/cc65.git
synced 2024-11-01 11:04:34 +00:00
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.
|
||
|
|
||
|
|
||
|
|