doc: update README.SRC, mention misc/rebuild-stubs-with-podman
This commit is contained in:
+11
-58
@@ -27,21 +27,6 @@ Foreword
|
|||||||
Markus & Laszlo
|
Markus & Laszlo
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
|
||||||
------------
|
|
||||||
|
|
||||||
Welcome to the UPX source code release!
|
|
||||||
|
|
||||||
UPX is not a toy for kids. Apart from basic knowledge about executables
|
|
||||||
and data compression you will need to be firm in C++, assembler,
|
|
||||||
Perl and Makefiles. Probably some other things as well.
|
|
||||||
|
|
||||||
If you can't manage to compile it then the sources are
|
|
||||||
probably not for you. Don't email us for help.
|
|
||||||
|
|
||||||
The authors use Linux for development. You might want to as well.
|
|
||||||
|
|
||||||
|
|
||||||
Short overview
|
Short overview
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
@@ -56,54 +41,35 @@ Short overview
|
|||||||
are #included by the individual executable format handlers.
|
are #included by the individual executable format handlers.
|
||||||
|
|
||||||
|
|
||||||
Prerequisites
|
|
||||||
-------------
|
|
||||||
|
|
||||||
- first of all you need to build the UCL compression library
|
|
||||||
http://www.oberhumer.com/opensource/ucl/
|
|
||||||
Use "CC=gcc -std=gnu89" especially with gcc-6.3 and gcc-7.1.
|
|
||||||
To build for native aarch64 (64-bit ARM) the files config.guess
|
|
||||||
and config.sub must be updated according to the recipe at
|
|
||||||
https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html
|
|
||||||
|
|
||||||
|
|
||||||
Tools needed to build/modify the UPX sources
|
Tools needed to build/modify the UPX sources
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
- A C++ compiler that supports C++ 14: gcc >= 6.1 or clang.
|
- A C++ compiler that supports C++ 14: clang, gcc or msvc
|
||||||
|
|
||||||
- GNU make 3.81 or better
|
- GNU make
|
||||||
|
|
||||||
- zlib and zlib-devel [or zlib-dev] software packages for your
|
- CMake 3.13 or better; see https://cmake.org/
|
||||||
host environment
|
|
||||||
|
|
||||||
- LZMA SDK from https://github.com/upx/upx-lzma-sdk
|
|
||||||
When using git run 'git submodule update --init --recursive'.
|
|
||||||
|
|
||||||
|
|
||||||
To compile the packer sources
|
To compile the packer sources
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
Set the environment variable UPX_UCLDIR to point to your
|
- just run "make" in the top-level source directory
|
||||||
UCL build directory, e.g.
|
|
||||||
|
|
||||||
set UPX_UCLDIR=c:\src\ucl-1.03 (DOS / Windows)
|
|
||||||
export UPX_UCLDIR=$HOME/local/src/ucl-1.03 (Unix)
|
|
||||||
|
|
||||||
Finally type
|
|
||||||
|
|
||||||
make all
|
|
||||||
|
|
||||||
|
|
||||||
If you want to modify the stub sources you'll also need
|
If you want to modify the stub sources you'll also need
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
- Perl & Python
|
- a Linux host system
|
||||||
|
|
||||||
- upx-stubtools - a number of cross-assemblers and cross-compilers.
|
- upx-stubtools - a number of cross-assemblers and cross-compilers.
|
||||||
Precompiled binaries for i386-linux hosts are available from
|
Precompiled binaries for amd64-linux hosts are available from
|
||||||
https://github.com/upx/upx-stubtools/releases
|
https://github.com/upx/upx-stubtools/releases
|
||||||
|
|
||||||
|
- Perl & Python2
|
||||||
|
|
||||||
|
- NOTE: also see misc/rebuild-stubs-with-podman
|
||||||
|
|
||||||
|
|
||||||
Misc. notes
|
Misc. notes
|
||||||
-----------
|
-----------
|
||||||
@@ -118,9 +84,9 @@ Misc. notes
|
|||||||
- Use gcc extensions and other compiler specific stuff only through
|
- Use gcc extensions and other compiler specific stuff only through
|
||||||
macros.
|
macros.
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Some conventions:
|
Some conventions:
|
||||||
|
-----------------
|
||||||
|
|
||||||
- follow our coding style
|
- follow our coding style
|
||||||
- indent level = 4
|
- indent level = 4
|
||||||
@@ -129,17 +95,4 @@ Some conventions:
|
|||||||
- Use throwSomeException() functions instead of throw SomeException():
|
- Use throwSomeException() functions instead of throw SomeException():
|
||||||
this makes the code shorter if used often.
|
this makes the code shorter if used often.
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Patches/Contributions
|
|
||||||
|
|
||||||
- Please send us bug fixes/contributions only using
|
|
||||||
|
|
||||||
diff -u oldfile newfile
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
diff -uNr olddirectory newdirectory
|
|
||||||
|
|
||||||
|
|
||||||
# vim:set ts=4 sw=4 et:
|
# vim:set ts=4 sw=4 et:
|
||||||
|
|||||||
Reference in New Issue
Block a user