doc: update README.SRC, mention misc/rebuild-stubs-with-podman

This commit is contained in:
Markus F.X.J. Oberhumer
2022-08-23 02:32:31 +02:00
parent a9803459ed
commit 70f14101ed
+11 -58
View File
@@ -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: