WebUI is now optional but enabled by default at compile time

This commit is contained in:
Gio 2016-07-28 14:08:49 +02:00
parent b4a10749f4
commit fe7de83529
11 changed files with 426 additions and 380 deletions

View file

@ -8,11 +8,12 @@ TARGET = resapi
TARGET_PRL = libresapi TARGET_PRL = libresapi
DESTDIR = lib DESTDIR = lib
CONFIG += libmicrohttpd
INCLUDEPATH += ../../libretroshare/src INCLUDEPATH += ../../libretroshare/src
unix { libresapihttpserver {
CONFIG += libmicrohttpd
unix {
webui_files.path = "$${DATA_DIR}/webui" webui_files.path = "$${DATA_DIR}/webui"
webui_files.files = webui/app.js webui/app.css webui/index.html webui_files.files = webui/app.js webui/app.css webui/index.html
@ -81,9 +82,9 @@ unix {
QMAKE_EXTRA_COMPILERS += create_webfiles_html create_webfiles_js create_webfiles_css QMAKE_EXTRA_COMPILERS += create_webfiles_html create_webfiles_js create_webfiles_css
} }
win32{ win32 {
DEFINES *= WINDOWS_SYS DEFINES *= WINDOWS_SYS
INCLUDEPATH += . $$INC_DIR INCLUDEPATH += . $$INC_DIR
@ -104,9 +105,8 @@ win32{
# create dummy files # create dummy files
system($$MAKE_SRC\\init.bat .) system($$MAKE_SRC\\init.bat .)
} }
libmicrohttpd{
linux { linux {
CONFIG += link_pkgconfig CONFIG += link_pkgconfig
PKGCONFIG *= libmicrohttpd PKGCONFIG *= libmicrohttpd

View file

@ -29,7 +29,10 @@
#include <retroshare/rsdisc.h> #include <retroshare/rsdisc.h>
#include <retroshare/rspeers.h> #include <retroshare/rspeers.h>
#include "settings/rsharesettings.h" #include "settings/rsharesettings.h"
#ifdef ENABLE_WEBUI
#include <microhttpd.h> #include <microhttpd.h>
#endif
#include <QClipboard> #include <QClipboard>
#include <QSysInfo> #include <QSysInfo>
@ -781,11 +784,13 @@ void AboutDialog::on_copy_button_clicked()
RsControl::instance()->getLibraries(libraries); RsControl::instance()->getLibraries(libraries);
verInfo+=addLibraries("libretroshare", libraries); verInfo+=addLibraries("libretroshare", libraries);
#ifdef ENABLE_WEBUI
/* Add version numbers of RetroShare */ /* Add version numbers of RetroShare */
// Add versions here. Find a better place. // Add versions here. Find a better place.
libraries.clear(); libraries.clear();
libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version())); libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version()));
verInfo+=addLibraries("RetroShare", libraries); verInfo+=addLibraries("RetroShare", libraries);
#endif // ENABLE_WEBUI
/* Add version numbers of plugins */ /* Add version numbers of plugins */
if (rsPlugins) { if (rsPlugins) {

View file

@ -24,7 +24,10 @@
#include <retroshare/rsiface.h> #include <retroshare/rsiface.h>
#include <retroshare/rsplugin.h> #include <retroshare/rsplugin.h>
#ifdef ENABLE_WEBUI
#include <microhttpd.h> #include <microhttpd.h>
#endif // ENABLE_WEBUI
#include <QFile> #include <QFile>
#include <QTextStream> #include <QTextStream>
@ -94,11 +97,13 @@ HelpDialog::HelpDialog(QWidget *parent) :
RsControl::instance()->getLibraries(libraries); RsControl::instance()->getLibraries(libraries);
addLibraries(ui->libraryLayout, "libretroshare", libraries); addLibraries(ui->libraryLayout, "libretroshare", libraries);
#ifdef ENABLE_WEBUI
/* Add version numbers of RetroShare */ /* Add version numbers of RetroShare */
// Add versions here. Find a better place. // Add versions here. Find a better place.
libraries.clear(); libraries.clear();
libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version())); libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version()));
addLibraries(ui->libraryLayout, "RetroShare", libraries); addLibraries(ui->libraryLayout, "RetroShare", libraries);
#endif // ENABLE_WEBUI
/* Add version numbers of plugins */ /* Add version numbers of plugins */
if (rsPlugins) { if (rsPlugins) {

View file

@ -562,7 +562,9 @@ void MainWindow::createTrayIcon()
trayMenu->addSeparator(); trayMenu->addSeparator();
trayMenu->addAction(QIcon(IMAGE_MESSENGER), tr("Open Messenger"), this, SLOT(showMessengerWindow())); trayMenu->addAction(QIcon(IMAGE_MESSENGER), tr("Open Messenger"), this, SLOT(showMessengerWindow()));
trayMenu->addAction(QIcon(IMAGE_MESSAGES), tr("Open Messages"), this, SLOT(showMess())); trayMenu->addAction(QIcon(IMAGE_MESSAGES), tr("Open Messages"), this, SLOT(showMess()));
#ifdef ENABLE_WEBUI
trayMenu->addAction(QIcon(":/images/emblem-web.png"), tr("Show web interface"), this, SLOT(showWebinterface())); trayMenu->addAction(QIcon(":/images/emblem-web.png"), tr("Show web interface"), this, SLOT(showWebinterface()));
#endif // ENABLE_WEBUI
trayMenu->addAction(QIcon(IMAGE_BWGRAPH), tr("Bandwidth Graph"), _bandwidthGraph, SLOT(showWindow())); trayMenu->addAction(QIcon(IMAGE_BWGRAPH), tr("Bandwidth Graph"), _bandwidthGraph, SLOT(showWindow()));
trayMenu->addAction(QIcon(IMAGE_DHT), tr("Statistics"), this, SLOT(showStatisticsWindow())); trayMenu->addAction(QIcon(IMAGE_DHT), tr("Statistics"), this, SLOT(showStatisticsWindow()));
@ -1061,10 +1063,12 @@ void MainWindow::showStatisticsWindow()
StatisticsWindow::showYourself(); StatisticsWindow::showYourself();
} }
#ifdef ENABLE_WEBUI
void MainWindow::showWebinterface() void MainWindow::showWebinterface()
{ {
WebuiPage::showWebui(); WebuiPage::showWebui();
} }
#endif // ENABLE_WEBUI
/** Shows Application window */ /** Shows Application window */
#ifdef UNFINISHED #ifdef UNFINISHED

View file

@ -211,7 +211,9 @@ private slots:
void newRsCollection(); void newRsCollection();
void showMessengerWindow(); void showMessengerWindow();
void showStatisticsWindow(); void showStatisticsWindow();
#ifdef ENABLE_WEBUI
void showWebinterface(); void showWebinterface();
#endif
//void servicePermission(); //void servicePermission();
#ifdef UNFINISHED #ifdef UNFINISHED

View file

@ -15,7 +15,7 @@
resource_api::ApiServer* WebuiPage::apiServer = 0; resource_api::ApiServer* WebuiPage::apiServer = 0;
resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0; resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0;
// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place // TODO: LIBRESAPI_LOCAL_SERVER Put indipendent option for libresapilocalserver in appropriate place
#ifdef LIBRESAPI_LOCAL_SERVER #ifdef LIBRESAPI_LOCAL_SERVER
resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0; resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0;
#endif #endif

View file

@ -152,8 +152,9 @@ RSettingsWin::initStackedWidget()
addPage(new AppearancePage()); addPage(new AppearancePage());
addPage(new SoundPage() ); addPage(new SoundPage() );
addPage(new ServicePermissionsPage() ); addPage(new ServicePermissionsPage() );
#ifdef ENABLE_WEBUI
addPage(new WebuiPage() ); addPage(new WebuiPage() );
#endif // ENABLE_WEBUI
// add widgets from plugins // add widgets from plugins
for(int i=0;i<rsPlugins->nbPlugins();++i) for(int i=0;i<rsPlugins->nbPlugins();++i)

View file

@ -397,13 +397,17 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO);
notify->enable() ; // enable notification system after GUI creation, to avoid data races in Qt. notify->enable() ; // enable notification system after GUI creation, to avoid data races in Qt.
#ifdef ENABLE_WEBUI
WebuiPage::checkStartWebui(); WebuiPage::checkStartWebui();
#endif // ENABLE_WEBUI
/* dive into the endless loop */ /* dive into the endless loop */
int ti = rshare.exec(); int ti = rshare.exec();
delete w ; delete w ;
#ifdef ENABLE_WEBUI
WebuiPage::checkShutdownWebui(); WebuiPage::checkShutdownWebui();
#endif // ENABLE_WEBUI
/* cleanup */ /* cleanup */
ChatDialog::cleanupChat(); ChatDialog::cleanupChat();

View file

@ -551,8 +551,7 @@ HEADERS += rshare.h \
gui/connect/ConnectProgressDialog.h \ gui/connect/ConnectProgressDialog.h \
gui/groups/CreateGroup.h \ gui/groups/CreateGroup.h \
gui/GetStartedDialog.h \ gui/GetStartedDialog.h \
gui/settings/WebuiPage.h \ gui/statistics/BWGraph.h \
gui/statistics/BWGraph.h \
util/RsSyntaxHighlighter.h \ util/RsSyntaxHighlighter.h \
util/imageutil.h util/imageutil.h
@ -671,7 +670,7 @@ FORMS += gui/StartDialog.ui \
gui/statistics/BwCtrlWindow.ui \ gui/statistics/BwCtrlWindow.ui \
gui/statistics/RttStatistics.ui \ gui/statistics/RttStatistics.ui \
gui/GetStartedDialog.ui \ gui/GetStartedDialog.ui \
gui/settings/WebuiPage.ui
# gui/ForumsDialog.ui \ # gui/ForumsDialog.ui \
# gui/forums/CreateForum.ui \ # gui/forums/CreateForum.ui \
@ -854,7 +853,6 @@ SOURCES += main.cpp \
gui/settings/ServicePermissionsPage.cpp \ gui/settings/ServicePermissionsPage.cpp \
gui/settings/AddFileAssociationDialog.cpp \ gui/settings/AddFileAssociationDialog.cpp \
gui/settings/GroupFrameSettingsWidget.cpp \ gui/settings/GroupFrameSettingsWidget.cpp \
gui/settings/WebuiPage.cpp \
gui/statusbar/peerstatus.cpp \ gui/statusbar/peerstatus.cpp \
gui/statusbar/natstatus.cpp \ gui/statusbar/natstatus.cpp \
gui/statusbar/dhtstatus.cpp \ gui/statusbar/dhtstatus.cpp \
@ -1390,3 +1388,9 @@ gxsgui {
} }
libresapihttpserver {
HEADERS *= gui/settings/WebuiPage.h
SOURCES *= gui/settings/WebuiPage.cpp
FORMS *= gui/settings/WebuiPage.ui
}

View file

@ -1,367 +1,365 @@
!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") !include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri")
TEMPLATE = app TEMPLATE = app
TARGET = RetroShare06-nogui TARGET = RetroShare06-nogui
CONFIG += bitdht CONFIG += bitdht
#CONFIG += introserver #CONFIG += introserver
#CONFIG += sshserver #CONFIG += sshserver
# webinterface, requires libmicrohttpd CONFIG -= qt xml gui
CONFIG += webui CONFIG += link_prl
CONFIG -= qt xml gui
CONFIG += link_prl #CONFIG += debug
debug {
#CONFIG += debug QMAKE_CFLAGS -= -O2
debug { QMAKE_CFLAGS += -O0
QMAKE_CFLAGS -= -O2 QMAKE_CFLAGS += -g
QMAKE_CFLAGS += -O0
QMAKE_CFLAGS += -g QMAKE_CXXFLAGS -= -O2
QMAKE_CXXFLAGS += -O0
QMAKE_CXXFLAGS -= -O2 QMAKE_CXXFLAGS += -g
QMAKE_CXXFLAGS += -O0 }
QMAKE_CXXFLAGS += -g
} ################################# Linux ##########################################
linux-* {
################################# Linux ########################################## #CONFIG += version_detail_bash_script
linux-* { QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64
#CONFIG += version_detail_bash_script
QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 LIBS *= -rdynamic
}
LIBS *= -rdynamic
} unix {
target.path = "$${BIN_DIR}"
unix { INSTALLS += target
target.path = "$${BIN_DIR}" }
INSTALLS += target
} linux-g++ {
OBJECTS_DIR = temp/linux-g++/obj
linux-g++ { }
OBJECTS_DIR = temp/linux-g++/obj
} linux-g++-64 {
OBJECTS_DIR = temp/linux-g++-64/obj
linux-g++-64 { }
OBJECTS_DIR = temp/linux-g++-64/obj
} #################### Cross compilation for windows under Linux ###################
#################### Cross compilation for windows under Linux ################### win32-x-g++ {
OBJECTS_DIR = temp/win32-x-g++/obj
win32-x-g++ {
OBJECTS_DIR = temp/win32-x-g++/obj LIBS += ../../../../lib/win32-x-g++/libssl.a
LIBS += ../../../../lib/win32-x-g++/libcrypto.a
LIBS += ../../../../lib/win32-x-g++/libssl.a LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a
LIBS += ../../../../lib/win32-x-g++/libcrypto.a LIBS += ../../../../lib/win32-x-g++/libz.a
LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2
LIBS += ../../../../lib/win32-x-g++/libz.a LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 LIBS += -lole32 -lwinmm
LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32
LIBS += -lole32 -lwinmm RC_FILE = gui/images/retroshare_win.rc
RC_FILE = gui/images/retroshare_win.rc DEFINES *= WIN32
}
DEFINES *= WIN32
} #################################### Windows #####################################
#################################### Windows ##################################### win32 {
CONFIG += console
win32 { OBJECTS_DIR = temp/obj
CONFIG += console RCC_DIR = temp/qrc
OBJECTS_DIR = temp/obj UI_DIR = temp/ui
RCC_DIR = temp/qrc MOC_DIR = temp/moc
UI_DIR = temp/ui
MOC_DIR = temp/moc # solve linker warnings because of the order of the libraries
QMAKE_LFLAGS += -Wl,--start-group
# solve linker warnings because of the order of the libraries
QMAKE_LFLAGS += -Wl,--start-group CONFIG(debug, debug|release) {
} else {
CONFIG(debug, debug|release) { # Tell linker to use ASLR protection
} else { QMAKE_LFLAGS += -Wl,-dynamicbase
# Tell linker to use ASLR protection # Tell linker to use DEP protection
QMAKE_LFLAGS += -Wl,-dynamicbase QMAKE_LFLAGS += -Wl,-nxcompat
# Tell linker to use DEP protection }
QMAKE_LFLAGS += -Wl,-nxcompat
} for(lib, LIB_DIR):LIBS += -L"$$lib"
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz
for(lib, LIB_DIR):LIBS += -L"$$lib" LIBS += -lcrypto -lws2_32 -lgdi32
LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz LIBS += -luuid -lole32 -liphlpapi -lcrypt32
LIBS += -lcrypto -lws2_32 -lgdi32 LIBS += -lole32 -lwinmm
LIBS += -luuid -lole32 -liphlpapi -lcrypt32
LIBS += -lole32 -lwinmm PROTOCPATH=$$BIN_DIR
PROTOCPATH=$$BIN_DIR RC_FILE = resources/retroshare_win.rc
RC_FILE = resources/retroshare_win.rc DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T
DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T DEPENDPATH += . $$INC_DIR
INCLUDEPATH += . $$INC_DIR
DEPENDPATH += . $$INC_DIR }
INCLUDEPATH += . $$INC_DIR
} ##################################### MacOS ######################################
##################################### MacOS ###################################### macx {
# ENABLE THIS OPTION FOR Univeral Binary BUILD.
macx { # CONFIG += ppc x86
# ENABLE THIS OPTION FOR Univeral Binary BUILD.
# CONFIG += ppc x86 LIBS += -Wl,-search_paths_first
LIBS += -lssl -lcrypto -lz
LIBS += -Wl,-search_paths_first for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a}
LIBS += -lssl -lcrypto -lz LIBS += -framework CoreFoundation
for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} LIBS += -framework Security
LIBS += -framework CoreFoundation for(lib, LIB_DIR):LIBS += -L"$$lib"
LIBS += -framework Security for(bin, BIN_DIR):LIBS += -L"$$bin"
for(lib, LIB_DIR):LIBS += -L"$$lib"
for(bin, BIN_DIR):LIBS += -L"$$bin" DEPENDPATH += . $$INC_DIR
INCLUDEPATH += . $$INC_DIR
DEPENDPATH += . $$INC_DIR
INCLUDEPATH += . $$INC_DIR sshserver {
LIBS += -L../../../lib
sshserver { #LIBS += -L../../../lib/libssh-0.6.0
LIBS += -L../../../lib }
#LIBS += -L../../../lib/libssh-0.6.0
} QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen }
} ##################################### FreeBSD ######################################
##################################### FreeBSD ###################################### freebsd-* {
INCLUDEPATH *= /usr/local/include/gpgme
freebsd-* { LIBS *= -lssl
INCLUDEPATH *= /usr/local/include/gpgme LIBS *= -lgpgme
LIBS *= -lssl LIBS *= -lupnp
LIBS *= -lgpgme LIBS *= -lgnome-keyring
LIBS *= -lupnp }
LIBS *= -lgnome-keyring
} ##################################### OpenBSD ######################################
##################################### OpenBSD ###################################### openbsd-* {
INCLUDEPATH *= /usr/local/include
openbsd-* { QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen
INCLUDEPATH *= /usr/local/include LIBS *= -lssl -lcrypto
QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen LIBS *= -lgpgme
LIBS *= -lssl -lcrypto LIBS *= -lupnp
LIBS *= -lgpgme LIBS *= -lgnome-keyring
LIBS *= -lupnp LIBS *= -rdynamic
LIBS *= -lgnome-keyring }
LIBS *= -rdynamic
} ##################################### Haiku ######################################
##################################### Haiku ###################################### haiku-* {
QMAKE_CXXFLAGS *= -D_BSD_SOURCE
haiku-* {
QMAKE_CXXFLAGS *= -D_BSD_SOURCE PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a LIBS *= ../../libretroshare/src/lib/libretroshare.a
LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd
LIBS *= ../../libretroshare/src/lib/libretroshare.a LIBS *= -lssl -lcrypto -lnetwork
LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd LIBS *= -lgpgme
LIBS *= -lssl -lcrypto -lnetwork LIBS *= -lupnp
LIBS *= -lgpgme LIBS *= -lz
LIBS *= -lupnp LIBS *= -lixml
LIBS *= -lz
LIBS *= -lixml LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += -lsqlite3
LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a
LIBS += -lsqlite3 }
} ############################## Common stuff ######################################
############################## Common stuff ###################################### DEPENDPATH += . ../../libretroshare/src
INCLUDEPATH += . ../../libretroshare/src
DEPENDPATH += . ../../libretroshare/src
INCLUDEPATH += . ../../libretroshare/src PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
LIBS *= ../../libretroshare/src/lib/libretroshare.a
PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a
LIBS *= ../../libretroshare/src/lib/libretroshare.a # Input
HEADERS += notifytxt.h
# Input SOURCES += notifytxt.cc \
HEADERS += notifytxt.h retroshare.cc
SOURCES += notifytxt.cc \
retroshare.cc introserver {
HEADERS += introserver.h
introserver { SOURCES += introserver.cc
HEADERS += introserver.h DEFINES *= RS_INTRO_SERVER
SOURCES += introserver.cc }
DEFINES *= RS_INTRO_SERVER
} libresapihttpserver {
DEFINES *= ENABLE_WEBUI
webui { PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a
DEFINES *= ENABLE_WEBUI LIBS += ../../libresapi/src/lib/libresapi.a
PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a DEPENDPATH += ../../libresapi/src
LIBS += ../../libresapi/src/lib/libresapi.a INCLUDEPATH += ../../libresapi/src
DEPENDPATH += ../../libresapi/src HEADERS += \
INCLUDEPATH += ../../libresapi/src TerminalApiClient.h
HEADERS += \ SOURCES += \
TerminalApiClient.h TerminalApiClient.cpp
SOURCES += \ }
TerminalApiClient.cpp
} sshserver {
sshserver { # This Requires libssh-0.5.* to compile.
# Please use this path below.
# This Requires libssh-0.5.* to compile. # (You can modify it locally if required - but dont commit it!)
# Please use this path below.
# (You can modify it locally if required - but dont commit it!) #LIBSSH_DIR = ../../../lib/libssh-0.5.2
LIBSSH_DIR = ../../../libssh-0.6.0rc1
#LIBSSH_DIR = ../../../lib/libssh-0.5.2
LIBSSH_DIR = ../../../libssh-0.6.0rc1 #
# Use the following commend to generate a Server RSA Key.
# # Key should be in current directory - when run/
# Use the following commend to generate a Server RSA Key. # ssh-keygen -t rsa -f rs_ssh_host_rsa_key
# Key should be in current directory - when run/ #
# ssh-keygen -t rsa -f rs_ssh_host_rsa_key # You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1
# #
# You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1 # The Menu system is available from the command-line (-T) and SSH (-S)
# # if it get covered by debug gunk, just press <return> to refresh.
# The Menu system is available from the command-line (-T) and SSH (-S) #
# if it get covered by debug gunk, just press <return> to refresh. # ./retroshare-nogui -h provides some more instructions.
# #
# ./retroshare-nogui -h provides some more instructions.
# win32 {
DEFINES *= LIBSSH_STATIC
win32 { }
DEFINES *= LIBSSH_STATIC
} DEPENDPATH += $$LIBSSH_DIR/include/
INCLUDEPATH += $$LIBSSH_DIR/include/
DEPENDPATH += $$LIBSSH_DIR/include/
INCLUDEPATH += $$LIBSSH_DIR/include/ win32 {
LIBS += -lssh
win32 { LIBS += -lssh_threads
LIBS += -lssh } else {
LIBS += -lssh_threads SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes)
} else { isEmpty(SSH_OK) {
SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes) exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) {
isEmpty(SSH_OK) { LIBS += $$LIBSSH_DIR/build/src/libssh.a
exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) { LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a
LIBS += $$LIBSSH_DIR/build/src/libssh.a }
LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a else {
} ! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist)
else { ! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist)
! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist) message(You need to download and compile libssh)
! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist) message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/)
message(You need to download and compile libssh) }
message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/) } else {
} LIBS += -lssh
} else { LIBS += -lssh_threads
LIBS += -lssh }
LIBS += -lssh_threads }
}
} HEADERS += ssh/rssshd.h
SOURCES += ssh/rssshd.cc
HEADERS += ssh/rssshd.h
SOURCES += ssh/rssshd.cc # For the Menu System
HEADERS += menu/menu.h \
# For the Menu System menu/menus.h \
HEADERS += menu/menu.h \ menu/stdiocomms.h \
menu/menus.h \
menu/stdiocomms.h \ SOURCES += menu/menu.cc \
menu/menus.cc \
SOURCES += menu/menu.cc \ menu/stdiocomms.cc \
menu/menus.cc \
menu/stdiocomms.cc \ # For the RPC System
HEADERS += rpc/rpc.h \
# For the RPC System rpc/rpcserver.h \
HEADERS += rpc/rpc.h \ rpc/rpcsetup.h \
rpc/rpcserver.h \ rpc/rpcecho.h \
rpc/rpcsetup.h \ rpcsystem.h \
rpc/rpcecho.h \
rpcsystem.h \ SOURCES += rpc/rpc.cc \
rpc/rpcserver.cc \
SOURCES += rpc/rpc.cc \ rpc/rpcsetup.cc \
rpc/rpcserver.cc \ rpc/rpcecho.cc \
rpc/rpcsetup.cc \
rpc/rpcecho.cc \ # Actual protocol files to go here...
#HEADERS += rpc/proto/rpcecho.h \
# Actual protocol files to go here...
#HEADERS += rpc/proto/rpcecho.h \ #SOURCES += rpc/proto/rpcecho.cc \
#SOURCES += rpc/proto/rpcecho.cc \ DEFINES *= RS_SSH_SERVER
DEFINES *= RS_SSH_SERVER # Include Protobuf classes.
CONFIG += protorpc
# Include Protobuf classes. }
CONFIG += protorpc
} protorpc {
# Proto Services
protorpc { PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto
# Proto Services DESTPATH = $$PWD/rpc/proto/gencc
PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto PROTOPATH = $$PWD/../../rsctrl/src/definition
DESTPATH = $$PWD/rpc/proto/gencc CMD = echo Building protobuf files
PROTOPATH = $$PWD/../../rsctrl/src/definition for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf}
CMD = echo Building protobuf files protobuf_gen.commands = $${CMD}
for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf} QMAKE_EXTRA_TARGETS += protobuf_gen
protobuf_gen.commands = $${CMD} PRE_TARGETDEPS += protobuf_gen
QMAKE_EXTRA_TARGETS += protobuf_gen
PRE_TARGETDEPS += protobuf_gen HEADERS += rpc/proto/rpcprotopeers.h \
rpc/proto/rpcprotosystem.h \
HEADERS += rpc/proto/rpcprotopeers.h \ rpc/proto/rpcprotochat.h \
rpc/proto/rpcprotosystem.h \ rpc/proto/rpcprotosearch.h \
rpc/proto/rpcprotochat.h \ rpc/proto/rpcprotofiles.h \
rpc/proto/rpcprotosearch.h \ rpc/proto/rpcprotostream.h \
rpc/proto/rpcprotofiles.h \ rpc/proto/rpcprotoutils.h \
rpc/proto/rpcprotostream.h \
rpc/proto/rpcprotoutils.h \ SOURCES += rpc/proto/rpcprotopeers.cc \
rpc/proto/rpcprotosystem.cc \
SOURCES += rpc/proto/rpcprotopeers.cc \ rpc/proto/rpcprotochat.cc \
rpc/proto/rpcprotosystem.cc \ rpc/proto/rpcprotosearch.cc \
rpc/proto/rpcprotochat.cc \ rpc/proto/rpcprotofiles.cc \
rpc/proto/rpcprotosearch.cc \ rpc/proto/rpcprotostream.cc \
rpc/proto/rpcprotofiles.cc \ rpc/proto/rpcprotoutils.cc \
rpc/proto/rpcprotostream.cc \
rpc/proto/rpcprotoutils.cc \ # Offical Generated Code (protobuf 2.4.1)
HEADERS += rpc/proto/gencc/core.pb.h \
# Offical Generated Code (protobuf 2.4.1) rpc/proto/gencc/peers.pb.h \
HEADERS += rpc/proto/gencc/core.pb.h \ rpc/proto/gencc/system.pb.h \
rpc/proto/gencc/peers.pb.h \ rpc/proto/gencc/chat.pb.h \
rpc/proto/gencc/system.pb.h \ rpc/proto/gencc/search.pb.h \
rpc/proto/gencc/chat.pb.h \ rpc/proto/gencc/files.pb.h \
rpc/proto/gencc/search.pb.h \ rpc/proto/gencc/stream.pb.h \
rpc/proto/gencc/files.pb.h \
rpc/proto/gencc/stream.pb.h \ SOURCES += rpc/proto/gencc/core.pb.cc \
rpc/proto/gencc/peers.pb.cc \
SOURCES += rpc/proto/gencc/core.pb.cc \ rpc/proto/gencc/system.pb.cc \
rpc/proto/gencc/peers.pb.cc \ rpc/proto/gencc/chat.pb.cc \
rpc/proto/gencc/system.pb.cc \ rpc/proto/gencc/search.pb.cc \
rpc/proto/gencc/chat.pb.cc \ rpc/proto/gencc/files.pb.cc \
rpc/proto/gencc/search.pb.cc \ rpc/proto/gencc/stream.pb.cc \
rpc/proto/gencc/files.pb.cc \
rpc/proto/gencc/stream.pb.cc \ # Generated ProtoBuf Code the RPC System
# If you are developing, or have a different version of protobuf
# Generated ProtoBuf Code the RPC System # you can use these ones (run make inside rsctrl/src/ to generate)
# If you are developing, or have a different version of protobuf #HEADERS += ../../rsctrl/src/gencc/core.pb.h \
# you can use these ones (run make inside rsctrl/src/ to generate) # ../../rsctrl/src/gencc/peers.pb.h \
#HEADERS += ../../rsctrl/src/gencc/core.pb.h \ # ../../rsctrl/src/gencc/system.pb.h \
# ../../rsctrl/src/gencc/peers.pb.h \ # ../../rsctrl/src/gencc/chat.pb.h \
# ../../rsctrl/src/gencc/system.pb.h \ # ../../rsctrl/src/gencc/search.pb.h \
# ../../rsctrl/src/gencc/chat.pb.h \ # ../../rsctrl/src/gencc/files.pb.h \
# ../../rsctrl/src/gencc/search.pb.h \ # ../../rsctrl/src/gencc/stream.pb.h \
# ../../rsctrl/src/gencc/files.pb.h \
# ../../rsctrl/src/gencc/stream.pb.h \ #SOURCES += ../../rsctrl/src/gencc/core.pb.cc \
# ../../rsctrl/src/gencc/peers.pb.cc \
#SOURCES += ../../rsctrl/src/gencc/core.pb.cc \ # ../../rsctrl/src/gencc/system.pb.cc \
# ../../rsctrl/src/gencc/peers.pb.cc \ # ../../rsctrl/src/gencc/chat.pb.cc \
# ../../rsctrl/src/gencc/system.pb.cc \ # ../../rsctrl/src/gencc/search.pb.cc \
# ../../rsctrl/src/gencc/chat.pb.cc \ # ../../rsctrl/src/gencc/files.pb.cc \
# ../../rsctrl/src/gencc/search.pb.cc \ # ../../rsctrl/src/gencc/stream.pb.cc \
# ../../rsctrl/src/gencc/files.pb.cc \
# ../../rsctrl/src/gencc/stream.pb.cc \ DEPENDPATH *= rpc/proto/gencc
INCLUDEPATH *= rpc/proto/gencc
DEPENDPATH *= rpc/proto/gencc
INCLUDEPATH *= rpc/proto/gencc !win32 {
# unrecognized option
!win32 { QMAKE_CFLAGS += -pthread
# unrecognized option QMAKE_CXXFLAGS += -pthread
QMAKE_CFLAGS += -pthread }
QMAKE_CXXFLAGS += -pthread LIBS += -lprotobuf -lpthread
}
LIBS += -lprotobuf -lpthread win32 {
DEPENDPATH += $$LIBS_DIR/include/protobuf
win32 { INCLUDEPATH += $$LIBS_DIR/include/protobuf
DEPENDPATH += $$LIBS_DIR/include/protobuf }
INCLUDEPATH += $$LIBS_DIR/include/protobuf
} macx {
PROTOPATH = ../../../protobuf-2.4.1
macx { INCLUDEPATH += $${PROTOPATH}/src
PROTOPATH = ../../../protobuf-2.4.1 }
INCLUDEPATH += $${PROTOPATH}/src }
}
}

View file

@ -2,6 +2,9 @@
# {,un}comment the following line # {,un}comment the following line
#CONFIG *= libresapilocalserver #CONFIG *= libresapilocalserver
# To {dis,en}able libresapi via HTTP (libmicrohttpd) {,un}comment the following line
CONFIG *= libresapihttpserver
# Gxs is always enabled now. # Gxs is always enabled now.
DEFINES *= RS_ENABLE_GXS DEFINES *= RS_ENABLE_GXS
@ -14,6 +17,25 @@ unix {
isEmpty(PLUGIN_DIR) { PLUGIN_DIR = "$${LIB_DIR}/retroshare/extensions6" } isEmpty(PLUGIN_DIR) { PLUGIN_DIR = "$${LIB_DIR}/retroshare/extensions6" }
} }
android-g++ {
DEFINES *= NO_SQLCIPHER
DEFINES *= "fopen64=fopen"
DEFINES *= "fseeko64=fseeko"
DEFINES *= "ftello64=ftello"
INCLUDEPATH *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/include/
LIBS *= -L$$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/
LIBS *= -lssl -lcrypto -lsqlite3 -lupnp -lixml
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libcrypto.so
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libssl.so
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libbz2.so
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libsqlite3.so
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libupnp.so
ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libixml.so
message(NDK_TOOLCHAIN_PATH: $$NDK_TOOLCHAIN_PATH)
message(LIBS: $$LIBS)
message(ANDROID_EXTRA_LIBS: $$ANDROID_EXTRA_LIBS)
}
win32 { win32 {
message(***retroshare.pri:Win32) message(***retroshare.pri:Win32)
exists($$PWD/../libs) { exists($$PWD/../libs) {
@ -68,3 +90,4 @@ unfinished {
wikipoos:DEFINES *= RS_USE_WIKI wikipoos:DEFINES *= RS_USE_WIKI
libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER
libresapihttpserver::DEFINES *= ENABLE_WEBUI