Commit Graph

2150 Commits

Author SHA1 Message Date
Petr Zemek
8bf8507f05 Merge branch 'fix-path-detections' (#21). 2018-01-21 11:39:29 +01:00
Petr Zemek
90767ab6f8 Add support for Cygwin paths into scripts (#21).
Based on #21:

    The scripts will also fail on Cygwin, due to Cygwin's virtual paths (c:
    becomes /cygdrive/c/, and so on), which are not transformed by readlink.
    Instead, one needs to use cygpath, to get the real windows path. So I've
    added get_realpath to retdec-utils.sh, to check if the scripts are running
    on Cygwin, and if they do, to use cygpath -ma (-a = absolute path, and -m =
    mixed, i.e., forward slashes rather than backward slashes). Otherwise it
    just uses readlink.
2018-01-21 10:56:59 +01:00
Petr Zemek
d0086e63c6 Fix the detection of SCRIPT_DIR in the beginning of scripts (#21).
Based on #21:

    Right now, the scripts used by retdec (e.g. retdec-decompiler.sh) will fail
    if they're symlinked, i.e., retdec-decompiler.sh symlinked to
    ~/bin/retdec-decompiler, because both ${BASH_SOURCE} and $0 will always
    point at the symlinked path, rather than the original, so $SCRIPT_DIR would
    become invalid.

    This is easy enough to fix, by doing dirname "$(readlink -e "$0")", rather
    than the pretty ancient style of cding to dirname "$0" (pretty sure this
    has been out of date since the inception of Linux itself ...).
2018-01-21 10:52:32 +01:00
Petr Zemek
d5d173783b Rename SCRIPTPATH to SCRIPT_DIR in scripts.
The new name is more appropriate (it is a directory) and consistent with the
naming of other variables storing directory paths.
2018-01-21 10:48:18 +01:00
Peter Matula
f036d11a6e use URL instead of SOURCE_DIR 2018-01-19 20:06:08 +01:00
Peter Matula
179e785bcf bin2llvmir: remove codegen passes initialization. 2018-01-19 19:36:16 +01:00
Peter Matula
aec8aac4a1 deps/llvm: remove LLVMAsmPrinter & LLVMSelectionDAG from LLVM_LIB_LIST 2018-01-19 15:44:08 +01:00
Peter Matula
bd54527cb0 deps/llvm: remove execution engine related libs from LLVM_LIB_LIST
The following libs are removed:
	LLVMInterpreter
	LLVMMCJIT
	LLVMOrcJIT
	LLVMExecutionEngine
	LLVMRuntimeDyld
They were used in llvm_emul.
2018-01-19 15:41:06 +01:00
Peter Matula
ccca6a24e6 llvmir_emul: remove unnecessary LLVM includes. 2018-01-19 15:39:27 +01:00
Peter Matula
134f5e66a8 bin2llvmir: remove initializeInstrumentation() & LLVMInstrumentation 2018-01-19 15:21:54 +01:00
Peter Matula
689872a78f bin2llvmir: remove initializeObjCARCOpts() & associated LLVMObjCARCOpts 2018-01-19 15:20:42 +01:00
Peter Matula
edd99a4264 deps/llvm: remove LLVMMCDisassembler from LLVM_LIB_LIST.
It should not be needed.
2018-01-19 15:19:40 +01:00
Peter Matula
a27d0afafa bin2llvmir: do not include LinkAllPasses.h.
It links all the LLVM passes, but we do not need/want all of them -- we
would need all the libraries.
2018-01-19 15:15:11 +01:00
Peter Matula
d7c9f14178 bin2llvmirtool: remove some low-level initializations + associated libs
Removed:
	InitializeAllTargets();
	InitializeAllTargetMCs();
	InitializeAllAsmPrinters();
2018-01-19 14:57:00 +01:00
Peter Matula
9563f1e8c6 deps/llvm: remove one LLVMRuntimeDyld from LLVM_LIB_LIST. 2018-01-19 14:43:01 +01:00
Peter Matula
ffefd3e676 Revert "deps/googletest: update googletest version."
This reverts commit 57f6c248b0.

It was faster to compile, but did not play well with the rest of the code. Will need some work to get it compilable.
2018-01-19 14:41:15 +01:00
Peter Matula
aef8721de1 deps/json: disable unused options. 2018-01-19 13:49:02 +01:00
Peter Matula
57f6c248b0 deps/googletest: update googletest version. 2018-01-19 13:44:22 +01:00
Peter Matula
abd817cb90 deps/elfio: disable CONFIGURE_COMMAND -- this is header only lib. 2018-01-19 13:18:55 +01:00
Peter Matula
361e42b5b0 deps/capstone: disable AT&T asm syntax. 2018-01-19 13:13:04 +01:00
Peter Matula
b659bc6c62 deps/capstone: build only what is actually needed at the moment. 2018-01-19 13:11:12 +01:00
Peter Matula
ec921d8f5b deps/llvm: Disable build of unnecessary LLVM parts. 2018-01-19 12:57:45 +01:00
Peter Matula
3812f7ebc2 Merge branch 'tinyxml2-external-project' 2018-01-19 12:23:10 +01:00
Peter Matula
a9c92af145 deps/googletest: fix windows debug build. 2018-01-19 12:15:48 +01:00
Peter Matula
00cbfd7f09 deps/tinyxml2: set DOWNLOAD_NAME for external project. 2018-01-19 12:12:18 +01:00
Petr Zemek
af24c3fe25 Speedup installation of OpenSSL by disabling installation of docs and man pages.
We need only libraries and includes.

On my PC, this speeds up the installation step for OpenSSL by about 20 seconds.
2018-01-19 12:02:31 +01:00
Petr Zemek
405e21d96f Add DOWNLOAD_NAME for each external project.
Reasons:
- Downloaded archives will have more meaningful names (e.g. capstone.zip
  instead of 27c713fe4f6eaf9721785932d850b6291a6073fe.zip).
- This prevents collisions between projects (e.g. both yaracpp and yaramod are
  in version 1.0.1 at the moment, so they were both downloaded as v1.0.1.zip).
2018-01-19 11:57:50 +01:00
Peter Matula
e0d70a78a0 Merge branch 'master' into tinyxml2-external-project 2018-01-19 11:16:44 +01:00
Peter Matula
3f4329a953 utils: fix windows build. 2018-01-19 11:16:16 +01:00
Peter Matula
754d4a18ec deps: get tinyxml2 via CMake external project. 2018-01-19 10:08:17 +01:00
Marek Milkovič
60f7683aa8 Filesystem path in utils now returns correct information when it is appended with another path 2018-01-18 10:18:08 +01:00
Marek Milkovič
ab0f346253 Updated version of yaracpp and yaramod 2018-01-18 08:17:24 +01:00
Michal Bandzi
dd06eee27d cpdetect: other changes from fileformat repo before merge 2018-01-17 15:46:48 +01:00
Michal Bandzi
43c49a0d51 cpdetect: get rid off yara rules in cpp files 2018-01-17 15:16:47 +01:00
Michal Bandzi
750d0e1dc1 utils: add getThisBinaryPath functions 2018-01-17 12:31:41 +01:00
Peter Matula
cc3915ad17 doc/doxygen: fix relative paths to sources. 2018-01-16 11:24:28 +01:00
Peter Matula
48691b522c doc/doxygen: generate doxygen log file. 2018-01-16 11:24:28 +01:00
Peter Matula
a8aa6a08e4
add #14 fix entry 2018-01-16 10:55:39 +01:00
Petr Zemek
e3935db10c Mention the benefits of our recent removal of all git submodules into CHANGELOG. 2018-01-16 07:44:23 +01:00
Petr Zemek
a942e1c8ac Mention the newly added support for system-wide installation into CHANGELOG. 2018-01-16 07:33:14 +01:00
Petr Zemek
b020f5b0ad Rephrase the note concerning system-wide installation in README. 2018-01-16 07:32:58 +01:00
Petr Zemek
69f44b111c Update the note in README concerning system-wide installation. 2018-01-16 07:13:49 +01:00
Petr Zemek
ea55fed75f Add a new CHANGELOG entry (set a proper rpath during installation, #77). 2018-01-16 07:04:17 +01:00
Petr Zemek
0ff880236f Improve phrasing of recent changes in CHANGELOG and add links to relevant issues. 2018-01-16 07:01:04 +01:00
Petr Zemek
74c2f8a7b6 Suggest to use -m instead of /m when running build on Windows in README.
When running cmake --build from Bash via the MSYS2 terminal, the use of /m
causes the following error:

    $ cmake --build . --config Release -- /m
    Microsoft (R) Build Engine version 14.0.25420.1
    Copyright (C) Microsoft Corporation. All rights reserved.

    MSBUILD : error MSB1008: Only one project can be specified.
    Switch: M:/

    For switch syntax, type "MSBuild /help"

With -m, it works everywhere.
2018-01-15 19:32:02 +01:00
Peter Matula
e7d15c9d5d Merge branch 'all-in-one' 2018-01-15 17:17:10 +01:00
Peter Matula
f6089034cd CMake: add RETDEC_DEV_TOOLS option. 2018-01-15 16:08:10 +01:00
Peter Matula
632881f0d6 doc: move doxygen files to doc/doxygen. 2018-01-15 16:00:28 +01:00
Petr Zemek
ba197b6e99 Add the -jN parameter to make in README.
To build RetDec in parallel as not all users have e.g.

    export MAKEFLAGS="-j$(nproc)"

in their shell configuration files.
2018-01-15 14:10:28 +01:00
Peter Matula
9285f4e02d add all tools and libs to Repository Overview. 2018-01-15 14:09:36 +01:00