mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-03-20 22:06:33 -04:00
Clang support
This commit is contained in:
parent
5a7b9e416c
commit
cd751f12d4
@ -26,6 +26,9 @@ if "%ParamWebui%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%
|
||||
:: Plugins
|
||||
if "%ParamPlugins%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-speex mingw-w64-%RsMSYS2Architecture%-speexdsp mingw-w64-%RsMSYS2Architecture%-curl mingw-w64-%RsMSYS2Architecture%-libxslt mingw-w64-%RsMSYS2Architecture%-opencv mingw-w64-%RsMSYS2Architecture%-ffmpeg"
|
||||
|
||||
:: Clang
|
||||
if "%ParamClang%"=="1" %EnvMSYS2Cmd% "pacman --noconfirm --needed -S mingw-w64-%RsMSYS2Architecture%-clang"
|
||||
|
||||
:: Initialize environment
|
||||
call "%~dp0env.bat" %*
|
||||
if errorlevel 2 exit /B 2
|
||||
@ -63,7 +66,11 @@ echo Qt %QtVersion% >> buildinfo.txt
|
||||
|
||||
call "%ToolsPath%\msys2-path.bat" "%SourcePath%" MSYS2SourcePath
|
||||
call "%ToolsPath%\msys2-path.bat" "%EnvMSYS2Path%" MSYS2EnvMSYS2Path
|
||||
%EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-g++ %RS_QMAKE_CONFIG%"
|
||||
if "%ParamClang%"=="1" (
|
||||
%EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-clang-g++ %RS_QMAKE_CONFIG%"
|
||||
) else (
|
||||
%EnvMSYS2Cmd% "qmake "%MSYS2SourcePath%/RetroShare.pro" -r -spec win32-g++ %RS_QMAKE_CONFIG%"
|
||||
)
|
||||
if errorlevel 1 goto error
|
||||
|
||||
echo.
|
||||
|
@ -7,6 +7,7 @@ set ParamAutologin=0
|
||||
set ParamPlugins=0
|
||||
set ParamTor=0
|
||||
set ParamWebui=0
|
||||
set ParamClang=0
|
||||
set CoreCount=%NUMBER_OF_PROCESSORS%
|
||||
set RS_QMAKE_CONFIG=
|
||||
|
||||
@ -31,6 +32,8 @@ if "%~1" NEQ "" (
|
||||
set ParamWebui=1
|
||||
) else if "%%~a"=="singlethread" (
|
||||
set CoreCount=1
|
||||
) else if "%%~a"=="clang" (
|
||||
set ParamClang=1
|
||||
) else if "%%~a"=="CONFIG+" (
|
||||
set RS_QMAKE_CONFIG=%RS_QMAKE_CONFIG% %1
|
||||
) else (
|
||||
@ -61,6 +64,10 @@ if "%Param64%"=="1" (
|
||||
set RsMSYS2Architecture=x86_64
|
||||
)
|
||||
|
||||
if "%ParamClang%"=="1" (
|
||||
set RsArchitecture=%RsArchitecture%-Clang
|
||||
)
|
||||
|
||||
if "%RsBit%"=="" goto :usage
|
||||
|
||||
if "%ParamRelease%"=="1" (
|
||||
@ -89,7 +96,7 @@ exit /B 0
|
||||
|
||||
:usage
|
||||
echo.
|
||||
echo Usage: 32^|64 release^|debug [version autologin plugins webui singlethread]
|
||||
echo Usage: 32^|64 release^|debug [autologin plugins webui singlethread clang]
|
||||
echo.
|
||||
echo Mandatory parameter
|
||||
echo 32^|64 32-bit or 64-bit Version
|
||||
@ -100,6 +107,7 @@ echo autologin Build with autologin
|
||||
echo plugins Build plugins
|
||||
echo webui Enable JsonAPI and pack webui files
|
||||
echo singlethread Use only 1 thread for building
|
||||
echo clang Use clang compiler instead of GCC
|
||||
echo.
|
||||
echo Parameter for pack
|
||||
echo tor Pack tor version
|
||||
|
@ -285,12 +285,6 @@ int sleep(unsigned int sec)
|
||||
}
|
||||
#endif
|
||||
|
||||
int usleep(unsigned int usec)
|
||||
{
|
||||
Sleep(usec / 1000);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
#else // UNIX
|
||||
|
||||
|
@ -159,7 +159,6 @@ int bdnet_w2u_errno(int error);
|
||||
#ifndef __MINGW64_VERSION_MAJOR
|
||||
int sleep(unsigned int sec);
|
||||
#endif
|
||||
int usleep(unsigned int usec);
|
||||
|
||||
#endif // END of WINDOWS defines.
|
||||
/********************************** WINDOWS/UNIX SPECIFIC PART ******************/
|
||||
|
@ -237,7 +237,7 @@ win32-x-g++ {
|
||||
}
|
||||
################################# Windows ##########################################
|
||||
|
||||
win32-g++ {
|
||||
win32-g++|win32-clang-g++ {
|
||||
QMAKE_CC = $${QMAKE_CXX}
|
||||
OBJECTS_DIR = temp/obj
|
||||
MOC_DIR = temp/moc
|
||||
@ -843,7 +843,7 @@ rs_jsonapi {
|
||||
no_rs_cross_compiling {
|
||||
DUMMYRESTBEDINPUT = FORCE
|
||||
CMAKE_GENERATOR_OVERRIDE=""
|
||||
win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
genrestbedlib.name = Generating librestbed.
|
||||
genrestbedlib.input = DUMMYRESTBEDINPUT
|
||||
genrestbedlib.output = $$clean_path($${RESTBED_BUILD_PATH}/librestbed.a)
|
||||
@ -860,6 +860,7 @@ rs_jsonapi {
|
||||
mkdir -p $${RESTBED_BUILD_PATH} && cd $${RESTBED_BUILD_PATH} && \
|
||||
cmake \
|
||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||
\"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||
$${CMAKE_GENERATOR_OVERRIDE} -DBUILD_SSL=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX=. -B. \
|
||||
-H$$shell_path($${RESTBED_SRC_PATH}) && \
|
||||
@ -940,7 +941,7 @@ rs_broadcast_discovery {
|
||||
no_rs_cross_compiling {
|
||||
DUMMYQMAKECOMPILERINPUT = FORCE
|
||||
CMAKE_GENERATOR_OVERRIDE=""
|
||||
win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
udpdiscoverycpplib.name = Generating libudp-discovery.a.
|
||||
udpdiscoverycpplib.input = DUMMYQMAKECOMPILERINPUT
|
||||
udpdiscoverycpplib.output = $$clean_path($${UDP_DISCOVERY_BUILD_PATH}/libudp-discovery.a)
|
||||
@ -954,6 +955,7 @@ rs_broadcast_discovery {
|
||||
cd $${UDP_DISCOVERY_BUILD_PATH} && \
|
||||
cmake -DCMAKE_C_COMPILER=$$fixQmakeCC($$QMAKE_CC) \
|
||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||
\"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||
$${CMAKE_GENERATOR_OVERRIDE} \
|
||||
-DBUILD_EXAMPLE=OFF -DBUILD_TOOL=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX=. -B. \
|
||||
|
@ -46,7 +46,7 @@ rs_jsonapi {
|
||||
LIBS *= -L$$clean_path($${RESTBED_BUILD_PATH}/) -lrestbed
|
||||
} else:sLibs *= restbed
|
||||
|
||||
win32-g++:dLibs *= wsock32
|
||||
win32-g++|win32-clang-g++:dLibs *= wsock32
|
||||
}
|
||||
|
||||
linux-* {
|
||||
@ -55,7 +55,7 @@ linux-* {
|
||||
|
||||
rs_deep_channels_index | rs_deep_files_index {
|
||||
mLibs += xapian
|
||||
win32-g++:mLibs += rpcrt4
|
||||
win32-g++|win32-clang-g++:mLibs += rpcrt4
|
||||
}
|
||||
|
||||
rs_deep_files_index_ogg {
|
||||
@ -81,7 +81,7 @@ rs_broadcast_discovery {
|
||||
LIBS *= -L$$clean_path($${UDP_DISCOVERY_BUILD_PATH}) -ludp-discovery
|
||||
} else:sLibs *= udp-discovery
|
||||
|
||||
win32-g++:dLibs *= wsock32
|
||||
win32-g++|win32-clang-g++:dLibs *= wsock32
|
||||
}
|
||||
|
||||
static {
|
||||
|
@ -21,7 +21,7 @@ linux-* {
|
||||
OBJECTS_DIR = temp/linux/obj
|
||||
}
|
||||
|
||||
win32-g++ {
|
||||
win32-g++|win32-clang-g++ {
|
||||
|
||||
HEADERS += openpgpsdk/opsstring.h
|
||||
SOURCES += openpgpsdk/opsstring.c
|
||||
|
@ -59,7 +59,7 @@ rs_gui_cmark {
|
||||
|
||||
DUMMYCMARKINPUT = FORCE
|
||||
CMAKE_GENERATOR_OVERRIDE=""
|
||||
win32-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\""
|
||||
gencmarklib.name = Generating libcmark.
|
||||
gencmarklib.input = DUMMYCMARKINPUT
|
||||
gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a)
|
||||
@ -73,6 +73,7 @@ rs_gui_cmark {
|
||||
mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \
|
||||
cmake \
|
||||
-DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
|
||||
\"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \
|
||||
$${CMAKE_GENERATOR_OVERRIDE} \
|
||||
-DCMAKE_INSTALL_PREFIX=. \
|
||||
-B. \
|
||||
@ -209,7 +210,7 @@ win32-x-g++ {
|
||||
|
||||
#################################### Windows #####################################
|
||||
|
||||
win32-g++ {
|
||||
win32-g++|win32-clang-g++ {
|
||||
CONFIG(debug, debug|release) {
|
||||
# show console output
|
||||
CONFIG += console
|
||||
|
@ -81,7 +81,7 @@ macx {
|
||||
INCLUDEPATH += . $$INC_DIR
|
||||
}
|
||||
|
||||
win32-g++ {
|
||||
win32-g++|win32-clang-g++ {
|
||||
CONFIG(debug, debug|release) {
|
||||
# show console output
|
||||
CONFIG += console
|
||||
|
@ -631,7 +631,7 @@ android-* {
|
||||
RS_THREAD_LIB =
|
||||
}
|
||||
|
||||
win32-g++ {
|
||||
win32-g++|win32-clang-g++ {
|
||||
!isEmpty(EXTERNAL_LIB_DIR) {
|
||||
message(Use pre-compiled libraries in $${EXTERNAL_LIB_DIR}.)
|
||||
PREFIX = $$system_path($$EXTERNAL_LIB_DIR)
|
||||
@ -683,6 +683,10 @@ win32-g++ {
|
||||
message(***retroshare.pri:Win32 PREFIX $$PREFIX INCLUDEPATH $$INCLUDEPATH QMAKE_LIBDIR $$QMAKE_LIBDIR DEFINES $$DEFINES)
|
||||
}
|
||||
|
||||
win32-clang-g++ {
|
||||
QMAKE_CXXFLAGS += -femulated-tls
|
||||
}
|
||||
|
||||
macx-* {
|
||||
rs_macos10.8 {
|
||||
message(***retroshare.pri: Set Target and SDK to MacOS 10.8 )
|
||||
|
Loading…
x
Reference in New Issue
Block a user