[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [analitza/aucahuasi/analitzajit] /: Create new module AnalitzaJIT
From:       Percy_Camilo_Triveño_Aucahuasi <percy.camilo.ta () gmail ! com>
Date:       2014-07-11 3:50:30
Message-ID: E1X5Rqw-0003ow-LV () scm ! kde ! org
[Download RAW message or body]

Git commit 71049c47751a921d035646bff4f71cdea362c4a4 by Percy Camilo Triveño \
Aucahuasi. Committed on 09/07/2014 at 23:33.
Pushed by aucahuasi into branch 'aucahuasi/analitzajit'.

Create new module AnalitzaJIT

Initially the code related with JIT was in the main module (analitza),
however to propose a better design this module will contain that code.

This way, the dependency with LLVM will be managed independently of
the main bits of Analitza (parser and evaluator)

M  +4    -6    CMakeLists.txt
M  +4    -11   analitza/CMakeLists.txt
M  +0    -8    analitza/tests/CMakeLists.txt
A  +33   -0    analitzajit/CMakeLists.txt
C  +16   -25   analitzajit/analitzajitexport.h [from: \
analitza/tests/analitzajittest.h - 076% similarity] R  +0    -0    \
analitzajit/jitanalyzer.cpp [from: analitza/jitanalyzer.cpp - 100% similarity] R  +0  \
-0    analitzajit/jitanalyzer.h [from: analitza/jitanalyzer.h - 100% similarity] R  \
+0    -0    analitzajit/llvmirexpressionwriter.cpp [from: \
analitza/llvmirexpressionwriter.cpp - 100% similarity] R  +0    -0    \
analitzajit/llvmirexpressionwriter.h [from: analitza/llvmirexpressionwriter.h - 100% \
similarity] A  +9    -0    analitzajit/tests/CMakeLists.txt
R  +0    -0    analitzajit/tests/analitzajittest.cpp [from: \
analitza/tests/analitzajittest.cpp - 100% similarity] R  +0    -0    \
analitzajit/tests/analitzajittest.h [from: analitza/tests/analitzajittest.h - 100% \
similarity]

http://commits.kde.org/analitza/71049c47751a921d035646bff4f71cdea362c4a4

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d0ab2ed..52484fa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,18 +43,13 @@ set(HAVE_EIGEN3 ${EIGEN3_FOUND})
 find_package(LLVM)
 set(HAVE_LLVM ${LLVM_FOUND})
 
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${EIGEN3_INCLUDE_DIR} \
${LLVM_INCLUDE_DIR}) +include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
 
 remove_definitions(-DQT_NO_CAST_TO_ASCII)
 remove_definitions(-DQT_NO_CAST_FROM_ASCII)
 remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
 remove_definitions(-DQT_NO_KEYWORDS)
 
-if(LLVM_FOUND)
-	add_definitions(${LLVM_CFLAGS})
-	link_directories(${LLVM_LIBRARY_DIR})
-endif(LLVM_FOUND)
-
 add_subdirectory(analitza)
 add_subdirectory(analitzaplot)
 add_subdirectory(analitzagui)
@@ -63,6 +58,9 @@ add_subdirectory(declarative)
 if(HAVE_READLINE)
 	add_subdirectory(calgebra)
 endif(HAVE_READLINE)
+if(LLVM_FOUND)
+  add_subdirectory(analitzajit)
+endif(LLVM_FOUND)
 
 # macro_display_feature_log()
 
diff --git a/analitza/CMakeLists.txt b/analitza/CMakeLists.txt
index a0a3035..4614890 100644
--- a/analitza/CMakeLists.txt
+++ b/analitza/CMakeLists.txt
@@ -1,5 +1,9 @@
 project(AnalitzaCore)
 
+if(EIGEN3_FOUND)
+  include_directories(${EIGEN3_INCLUDE_DIR})
+endif(EIGEN3_FOUND)
+
 add_subdirectory(tests)
 
 set(analitza_SRCS
@@ -52,20 +56,9 @@ if(EIGEN3_FOUND)
 	list(APPEND analitza_SRCS commands/eigencommands.cpp)
 endif(EIGEN3_FOUND)
 
-if(LLVM_FOUND)
-	list(APPEND analitza_SRCS 
-		llvmirexpressionwriter.cpp
-		jitanalyzer.cpp
-	)
-endif(LLVM_FOUND)
-
 add_library(Analitza ${analitza_SRCS})
 target_link_libraries(Analitza Qt5::Core Qt5::Xml)
 
-if(LLVM_FOUND)
-	target_link_libraries(Analitza ${LLVM_MODULE_LIBS} ${LLVM_LFLAGS})
-endif(LLVM_FOUND)
-
 target_include_directories(Analitza INTERFACE \
"$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>")  
 set_target_properties(Analitza PROPERTIES VERSION ${ANALITZA_VERSION_STRING} \
                SOVERSION ${ANALITZA_SOVERSION} )
diff --git a/analitza/tests/CMakeLists.txt b/analitza/tests/CMakeLists.txt
index 0c8973b..0de2e7f 100644
--- a/analitza/tests/CMakeLists.txt
+++ b/analitza/tests/CMakeLists.txt
@@ -14,14 +14,6 @@ ecm_add_tests(
     LINK_LIBRARIES ${testLibs}
 )
 
-if(LLVM_FOUND)
-    ecm_add_tests(
-        analitzajittest.cpp
-
-        LINK_LIBRARIES ${testLibs}
-    )
-endif(LLVM_FOUND)
-
 ecm_add_test(
     TEST_NAME matchingtest
         matchingtest.cpp ../substituteexpression.cpp \
                ../abstractexpressiontransformer.cpp
diff --git a/analitzajit/CMakeLists.txt b/analitzajit/CMakeLists.txt
new file mode 100644
index 0000000..f5a159d
--- /dev/null
+++ b/analitzajit/CMakeLists.txt
@@ -0,0 +1,33 @@
+project(AnalitzaJIT)
+
+add_definitions(${LLVM_CFLAGS})
+link_directories(${LLVM_LIBRARY_DIR})
+
+include_directories(${LLVM_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+
+add_subdirectory(tests)
+
+set ( analitzajit_SRCS
+    llvmirexpressionwriter.cpp
+    jitanalyzer.cpp
+)
+
+add_library( AnalitzaJIT ${analitzajit_SRCS} )
+target_link_libraries ( AnalitzaJIT
+  Qt5::Core
+  Qt5::Gui
+
+  Analitza
+  ${LLVM_MODULE_LIBS} ${LLVM_LFLAGS}
+)
+
+set_target_properties(AnalitzaJIT PROPERTIES VERSION ${ANALITZA_VERSION_STRING} \
SOVERSION ${ANALITZA_SOVERSION} ) +
+install(TARGETS AnalitzaJIT EXPORT AnalitzaTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+    analitzajitexport.h
+    jitanalyzer.h
+
+    DESTINATION ${INCLUDE_INSTALL_DIR}/analitzajit/ COMPONENT Devel
+)
diff --git a/analitza/tests/analitzajittest.h b/analitzajit/analitzajitexport.h
similarity index 76%
copy from analitza/tests/analitzajittest.h
copy to analitzajit/analitzajitexport.h
index 01aed39..3522859 100644
--- a/analitza/tests/analitzajittest.h
+++ b/analitzajit/analitzajitexport.h
@@ -16,32 +16,23 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA   \
                *
  *************************************************************************************/
  
-#ifndef JITANALITZATEST_H
-#define JITANALITZATEST_H
+#ifndef ANALITZAJITEXPORT_H
+#define ANALITZAJITEXPORT_H
 
-#include <QObject>
+/* needed for KDE_EXPORT macros */
+// #include <kdemacros.h>
+#define KDE_EXPORT __attribute__ ((visibility("default")))
+#define KDE_IMPORT __attribute__ ((visibility("default")))
 
-namespace Analitza { class JitAnalyzer; }
-
-/**
-	@author Percy Camilo T. Aucahuasi
-*/
-class AnalitzaJitTest : public QObject
-{
-Q_OBJECT
-	public:
-		AnalitzaJitTest(QObject *parent = 0);
-		~AnalitzaJitTest();
-	
-	private Q_SLOTS:
-		void initTestCase();
-		//TODO
-		void testCalculate_data();
-		void testCalculate();
-		
-		void cleanupTestCase();
-	private:
-		Analitza::JitAnalyzer *a;
-};
+#ifndef ANALITZAJIT_EXPORT
+# ifdef MAKE_ANALITZAJIT_LIB
+#  define ANALITZAJIT_EXPORT KDE_EXPORT
+# else
+#  define ANALITZAJIT_EXPORT KDE_IMPORT
+# endif
+#endif
 
 #endif
+
+
+
diff --git a/analitza/jitanalyzer.cpp b/analitzajit/jitanalyzer.cpp
similarity index 100%
rename from analitza/jitanalyzer.cpp
rename to analitzajit/jitanalyzer.cpp
diff --git a/analitza/jitanalyzer.h b/analitzajit/jitanalyzer.h
similarity index 100%
rename from analitza/jitanalyzer.h
rename to analitzajit/jitanalyzer.h
diff --git a/analitza/llvmirexpressionwriter.cpp \
b/analitzajit/llvmirexpressionwriter.cpp similarity index 100%
rename from analitza/llvmirexpressionwriter.cpp
rename to analitzajit/llvmirexpressionwriter.cpp
diff --git a/analitza/llvmirexpressionwriter.h b/analitzajit/llvmirexpressionwriter.h
similarity index 100%
rename from analitza/llvmirexpressionwriter.h
rename to analitzajit/llvmirexpressionwriter.h
diff --git a/analitzajit/tests/CMakeLists.txt b/analitzajit/tests/CMakeLists.txt
new file mode 100644
index 0000000..39ad143
--- /dev/null
+++ b/analitzajit/tests/CMakeLists.txt
@@ -0,0 +1,9 @@
+include_directories(${analitzajit_SOURCE_DIR})
+
+set(testLibs Qt5::Core Qt5::Xml Qt5::Test Analitza AnalitzaJIT)
+
+ecm_add_tests(
+    analitzajittest.cpp
+
+    LINK_LIBRARIES ${testLibs}
+)
diff --git a/analitza/tests/analitzajittest.cpp \
b/analitzajit/tests/analitzajittest.cpp similarity index 100%
rename from analitza/tests/analitzajittest.cpp
rename to analitzajit/tests/analitzajittest.cpp
diff --git a/analitza/tests/analitzajittest.h b/analitzajit/tests/analitzajittest.h
similarity index 100%
rename from analitza/tests/analitzajittest.h
rename to analitzajit/tests/analitzajittest.h


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic