Commit Graph
3 Commits
Author SHA1 Message Date
El Mostafa Idrassi d2c53bc373 Linux: Added CMake script for creating .DEBs and .RPMs for VeraCrypt using CPack, and shell scripts which build then package VeraCrypt under CentOS and Debian/Ubuntu. (#511)
The DEB script builds VeraCrypt and links it against wxWidgets that comes with the distribution.
The RPM script awaits for wxWidgets-3.0.4 source code which it builds then links VeraCrypt statically to it.
Both scripts create the corresponding package after the build.
2019-10-04 21:33:46 +02:00
El Mostafa Idrassi 48ef6c3736 Linux : Added missing 'mkdir' before installing in case $DESTDIR does not exist (#510) 2019-10-04 21:26:25 +02:00
El Mostafa Idrassi 9a895bedde Fix "error "SSSE3 instruction set not enabled" when compiling using GCC version < 4.9 without -mssse3 option (SSSE3=1 when using make). (#507)
Compiling with -mxxx defines the corresponding macro of the intrinsics.
For example, -mssse3 defines __SSSE3__ macro to 1.

In GCC versions < 4.9, it is not possible to use and call x86 intrinsics only at runtime without
compiling the entire file with the -mxxx option.

For example, if we want to call SSSE3 intrinsics without compiling with -mssse3, the macro __SSSE3__ is not defined.
Therefore, when including <tmmintrin.h>, this results in "error "SSSE3 instruction set not enabled"" because of :
	#ifndef __SSSE3__
	# error "SSSE3 instruction set not enabled"
Since GCC 4.9, this has been fixed and it is possible to call x86 intrinsics from select functions in a file
that are tagged with the corresponding target attribute without having to compile the entire file with the -mxxx option.
This can be seen in <tmmintrin.h> which in recent versions (>= 4.9) contains :
	#ifndef __SSSE3__
	#pragma GCC push_options
	#pragma GCC target("ssse3")
	#define __DISABLE_SSSE3__

Since SSSE3 is only used under Windows for ChaCha256, this can be fixed by preceding '#include <tmmintrin.h>' with
#if defined (_MSC_VER) && !defined (TC_WINDOWS_BOOT).

See https://gcc.gnu.org/gcc-4.9/changes.html
2019-10-04 14:07:10 +02:00