From: K.Ohta Date: Sat, 30 Sep 2017 04:39:03 +0000 (+0900) Subject: [Build][CMAKE] Fix FTBFS with USE_COMMON_DEVICE_LIB != "Yes".Partly working with... X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2c7643bd34804fc07ee1fa7433eb5e844785c77f;p=csp-qt%2Fcommon_source_project-fm7.git [Build][CMAKE] Fix FTBFS with USE_COMMON_DEVICE_LIB != "Yes".Partly working with FM-7, will check all of VMs. --- diff --git a/source/build-cmake/cmake/config_commonsource.cmake b/source/build-cmake/cmake/config_commonsource.cmake index 88d300254..38bb7432c 100644 --- a/source/build-cmake/cmake/config_commonsource.cmake +++ b/source/build-cmake/cmake/config_commonsource.cmake @@ -6,8 +6,9 @@ include(CheckFunctionExists) if(USE_DEVICES_SHARED_LIB) - #add_definitions(-DUSE_DEVICES_SHARED_LIB) add_definitions(-DUSE_SHARED_DLL) + add_definitions(-DUSE_SHARED_UI_DLL) + add_definitions(-DUSE_SHARED_DEVICES_DLL) set(I386_CPPS libcpu_newdev/i386.cpp libcpu_newdev/libcpu_i386/i386_real.cpp @@ -241,7 +242,14 @@ if(DEFINED VM_NAME) # else() # set(DEBUG_LIBS) # endif() - + if(USE_DEVICES_SHARED_LIB) + else() + if(USE_FMGEN) + set(VM_APPEND_LIBS fmgen${VM_APPEND_LIBS}) + else() + set(VM_APPEND_LIBS ${VM_APPEND_LIBS}) + endif() + endif() if(WIN32) set(LOCAL_LIBS common_emu @@ -295,7 +303,11 @@ else() # ${LIBAV_LIBRARIES} ${ADDITIONAL_LIBRARIES} ) - set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio) + if(USE_DEVICES_SHARED_LIB) + set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPcommon_vm -lCSPfmgen -lCSPgui -lCSPemu_utils -lCSPavio) + else() + set(BUNDLE_LIBS ${BUNDLE_LIBS} -lCSPosd -lCSPgui -lCSPavio) + endif() endif() if(USE_QT_5) @@ -305,10 +317,18 @@ endif() set(BUNDLE_LIBS ${BUNDLE_LIBS} ${THREADS_LIBRARY}) if(DEFINED VM_NAME) - add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME}) -# if(USE_FMGEN) -# add_subdirectory(../../src/vm/fmgen vm/fmgen) -# endif() - add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME}) - add_subdirectory(../../src/qt/common qt/common) + if(USE_DEVICES_SHARED_LIB) + add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME}) + add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME}) + add_subdirectory(../../src/qt/common qt/common) + else() + add_subdirectory(../../src/vm/${VM_NAME} vm/${VM_NAME}) + #add_subdirectory(../../src/vm vm/common) + #add_subdirectory(../../src common/common) + if(USE_FMGEN) + add_subdirectory(../../src/vm/fmgen vm/fmgen) + endif() + add_subdirectory(../../src/qt/machines/${VM_NAME} qt/${VM_NAME}) + add_subdirectory(../../src/qt/common qt/common) + endif() endif() diff --git a/source/build-cmake/cmake/config_emufm7.cmake b/source/build-cmake/cmake/config_emufm7.cmake index cb89b740b..e7526910d 100644 --- a/source/build-cmake/cmake/config_emufm7.cmake +++ b/source/build-cmake/cmake/config_emufm7.cmake @@ -25,6 +25,7 @@ set(VMFILES_LIB disk.cpp mb8877.cpp prnfile.cpp + noise.cpp ) set(FLAG_USE_MC6809 ON) diff --git a/source/build-cmake/cmake/config_sharedlibs.cmake b/source/build-cmake/cmake/config_sharedlibs.cmake index 5f1db1c4c..f184da5d0 100644 --- a/source/build-cmake/cmake/config_sharedlibs.cmake +++ b/source/build-cmake/cmake/config_sharedlibs.cmake @@ -11,7 +11,6 @@ cmake_policy(SET CMP0011 NEW) include(CheckFunctionExists) if(USE_DEVICES_SHARED_LIB) - #add_definitions(-DUSE_DEVICES_SHARED_LIB) add_definitions(-DUSE_SHARED_DLL) endif() # Use cmake if enabled. diff --git a/source/build-cmake/config_build.sh b/source/build-cmake/config_build.sh index edf1c9637..18b4e2d91 100755 --- a/source/build-cmake/config_build.sh +++ b/source/build-cmake/config_build.sh @@ -142,11 +142,20 @@ case ${USE_COMMON_DEVICE_LIB} in ;; esac -build_dll libCSPfmgen -build_dll libCSPavio -build_dll libCSPgui -build_dll libCSPosd -build_dll libCSPemu_utils +case ${USE_COMMON_DEVICE_LIB} in + "Yes" | "yes" | "YES" ) + build_dll libCSPfmgen + build_dll libCSPavio + build_dll libCSPgui + build_dll libCSPosd + build_dll libCSPemu_utils + ;; + "No" | "no" | "NO" | * ) + build_dll libCSPavio + build_dll libCSPgui + build_dll libCSPosd + ;; +esac for SRCDATA in $@ ; do\ diff --git a/source/src/CMakeLists.txt b/source/src/CMakeLists.txt index 61f3237bb..d49082668 100644 --- a/source/src/CMakeLists.txt +++ b/source/src/CMakeLists.txt @@ -1,13 +1,21 @@ message("* common/common") #set(CMAKE_BUILD_SETTING_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -msse -mmmx") - -add_library(common_common - config.cpp - debugger.cpp -# romakana.cpp -) add_library(common_emu emu.cpp ) +if(USE_DEVICES_SHARED_LIB) + add_library(common_common + config.cpp + debugger.cpp + ) +else() + add_library(common_common + common.cpp + config.cpp + debugger.cpp + fileio.cpp + fifo.cpp + ) +endif() diff --git a/source/src/config.h b/source/src/config.h index bd51c320d..05ae2c70f 100644 --- a/source/src/config.h +++ b/source/src/config.h @@ -13,7 +13,12 @@ #include "vm/vm.h" #include "fileio.h" #if defined(_USE_QT) +#define USE_FIXED_CONFIG 1 #include "qt/gui/csp_logger.h" +#else + #if defined(USE_SHARED_DLL) + #define USE_FIXED_CONFIG 1 + #endif #endif enum { @@ -34,7 +39,7 @@ enum { #define MAX_HISTORY 8 -#ifdef USE_SHARED_DLL +#ifdef USE_FIXED_CONFIG #define MAX_CART_TMP 8 #define MAX_FD_TMP 16 #define MAX_QD_TMP 8 @@ -68,52 +73,52 @@ bool DLL_PREFIX load_config_state(void *f); */ typedef struct { // control - #if defined(USE_SHARED_DLL) || defined(USE_BOOT_MODE) + #if defined(USE_FIXED_CONFIG) || defined(USE_BOOT_MODE) int boot_mode; #endif - #if defined(USE_SHARED_DLL) || defined(USE_CPU_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_CPU_TYPE) int cpu_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_DIPSWITCH) + #if defined(USE_FIXED_CONFIG) || defined(USE_DIPSWITCH) uint32_t dipswitch; #endif - #if defined(USE_SHARED_DLL) || defined(USE_DEVICE_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_DEVICE_TYPE) int device_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_DRIVE_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_DRIVE_TYPE) int drive_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_KEYBOARD_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_KEYBOARD_TYPE) int keyboard_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_MOUSE_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_MOUSE_TYPE) int mouse_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_JOYSTICK_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_JOYSTICK_TYPE) int joystick_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_SOUND_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_SOUND_TYPE) int sound_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_MONITOR_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_MONITOR_TYPE) int monitor_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_SCANLINE) + #if defined(USE_FIXED_CONFIG) || defined(USE_SCANLINE) bool scan_line; #endif - #if defined(USE_SHARED_DLL) || defined(USE_PRINTER_TYPE) + #if defined(USE_FIXED_CONFIG) || defined(USE_PRINTER_TYPE) int printer_type; #endif - #if defined(USE_SHARED_DLL) || defined(USE_FD1) + #if defined(USE_FIXED_CONFIG) || defined(USE_FD1) bool correct_disk_timing[/*MAX_FD_TMP*/16]; bool ignore_disk_crc[/*MAX_FD_TMP*/16]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_TAPE1) + #if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1) bool wave_shaper[MAX_TAPE_TMP]; bool direct_load_mzt[MAX_TAPE_TMP]; bool baud_high[MAX_TAPE_TMP]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_AUTO_KEY) + #if defined(USE_FIXED_CONFIG) || defined(USE_AUTO_KEY) bool romaji_to_kana; #endif @@ -121,35 +126,35 @@ typedef struct { bool full_speed; // recent files - #if defined(USE_SHARED_DLL) || defined(USE_CART1) + #if defined(USE_FIXED_CONFIG) || defined(USE_CART1) _TCHAR initial_cart_dir[_MAX_PATH]; _TCHAR recent_cart_path[MAX_CART_TMP][MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_FD1) + #if defined(USE_FIXED_CONFIG) || defined(USE_FD1) _TCHAR initial_floppy_disk_dir[_MAX_PATH]; _TCHAR recent_floppy_disk_path[MAX_FD_TMP][MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_QD1) + #if defined(USE_FIXED_CONFIG) || defined(USE_QD1) _TCHAR initial_quick_disk_dir[_MAX_PATH]; _TCHAR recent_quick_disk_path[MAX_QD_TMP][MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_TAPE1) + #if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1) _TCHAR initial_tape_dir[_MAX_PATH]; _TCHAR recent_tape_path[MAX_TAPE_TMP][MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_COMPACT_DISC) + #if defined(USE_FIXED_CONFIG) || defined(USE_COMPACT_DISC) _TCHAR initial_compact_disc_dir[_MAX_PATH]; _TCHAR recent_compact_disc_path[MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_LASER_DISC) + #if defined(USE_FIXED_CONFIG) || defined(USE_LASER_DISC) _TCHAR initial_laser_disc_dir[_MAX_PATH]; _TCHAR recent_laser_disc_path[MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_BINARY_FILE1) + #if defined(USE_FIXED_CONFIG) || defined(USE_BINARY_FILE1) _TCHAR initial_binary_dir[_MAX_PATH]; _TCHAR recent_binary_path[MAX_BINARY_TMP][MAX_HISTORY][_MAX_PATH]; #endif - #if defined(USE_SHARED_DLL) || defined(USE_BUBBLE1) + #if defined(USE_FIXED_CONFIG) || defined(USE_BUBBLE1) _TCHAR initial_bubble_casette_dir[_MAX_PATH]; _TCHAR recent_bubble_casette_path[MAX_BUBBLE_TMP][MAX_HISTORY][_MAX_PATH]; #endif @@ -158,12 +163,12 @@ typedef struct { int window_mode; int window_stretch_type; int fullscreen_stretch_type; - // #if defined(USE_SHARED_DLL) || defined(USE_SCREEN_ROTATE) + // #if defined(USE_FIXED_CONFIG) || defined(USE_SCREEN_ROTATE) int rotate_type; // #endif // filter - #if defined(USE_SHARED_DLL) || defined(USE_SCREEN_FILTER) + #if defined(USE_FIXED_CONFIG) || defined(USE_SCREEN_FILTER) int filter_type; #endif @@ -198,24 +203,24 @@ typedef struct { #if defined(_USE_QT) int general_sound_level; #endif -#if defined(USE_SHARED_DLL) || defined(USE_FD1) +#if defined(USE_FIXED_CONFIG) || defined(USE_FD1) bool sound_noise_fdd; #endif -#if defined(USE_SHARED_DLL) || defined(USE_TAPE1) +#if defined(USE_FIXED_CONFIG) || defined(USE_TAPE1) bool sound_noise_cmt; bool sound_play_tape; #endif -#if defined(USE_SHARED_DLL) || defined(USE_SOUND_VOLUME) +#if defined(USE_FIXED_CONFIG) || defined(USE_SOUND_VOLUME) int sound_volume_l[MAX_VOLUME_TMP]; int sound_volume_r[MAX_VOLUME_TMP]; #endif // input -#if defined(USE_SHARED_DLL) || defined(USE_JOYSTICK) +#if defined(USE_FIXED_CONFIG) || defined(USE_JOYSTICK) int joy_buttons[4][16]; #endif // printer -#if defined(USE_SHARED_DLL) || defined(USE_PRINTER) +#if defined(USE_FIXED_CONFIG) || defined(USE_PRINTER) _TCHAR printer_dll_path[_MAX_PATH]; #endif diff --git a/source/src/qt/CMakeLists.txt b/source/src/qt/CMakeLists.txt index 4fba55052..dbb9e1d57 100644 --- a/source/src/qt/CMakeLists.txt +++ b/source/src/qt/CMakeLists.txt @@ -55,21 +55,28 @@ generate_export_header(CSPosd ) else() - add_library(CSPosd SHARED - ${s_qt_osd_srcs} - ${s_qt_osd_headers_MOC} - ) -target_link_libraries(CSPosd PUBLIC - Qt5::Core - Qt5::Gui - Qt5::Widgets - ${SDL2_LIBRARIES} - ) + if(USE_DEVICES_SHARED_LIB) + add_library(CSPosd SHARED + ${s_qt_osd_srcs} + ${s_qt_osd_headers_MOC} + ) + target_link_libraries(CSPosd PUBLIC + Qt5::Core + Qt5::Gui + Qt5::Widgets + ${SDL2_LIBRARIES} + ) - set_target_properties(CSPosd PROPERTIES - SOVERSION ${THIS_LIB_VERSION} - VERSION ${THIS_LIB_VERSION} - ) - INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR}) + set_target_properties(CSPosd PROPERTIES + SOVERSION ${THIS_LIB_VERSION} + VERSION ${THIS_LIB_VERSION} + ) + INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR}) + else() + add_library(osd STATIC + ${s_qt_osd_srcs} + ${s_qt_osd_headers_MOC} + ) + endif() endif() diff --git a/source/src/vm/device.h b/source/src/vm/device.h index f68ed2bb9..1cf0b0e68 100644 --- a/source/src/vm/device.h +++ b/source/src/vm/device.h @@ -60,7 +60,12 @@ protected: public: DEVICE(VM* parent_vm, EMU* parent_emu) : vm(parent_vm), emu(parent_emu) { +#if defined(_USE_QT) + osd = emu->get_osd(); +#else osd = NULL; +#endif + strncpy(this_device_name, "Base Device", 128); prev_device = vm->last_device; next_device = NULL; diff --git a/source/src/vm/fmgen/CMakeLists.txt b/source/src/vm/fmgen/CMakeLists.txt index 787107967..fb8802984 100644 --- a/source/src/vm/fmgen/CMakeLists.txt +++ b/source/src/vm/fmgen/CMakeLists.txt @@ -36,12 +36,18 @@ generate_export_header(CSPfmgen ) else() - add_library(CSPfmgen SHARED - ${s_vm_fmgen_srcs} - ) - set_target_properties(CSPfmgen PROPERTIES - SOVERSION 1.1.0 - VERSION 1.1.0 - ) - INSTALL(TARGETS CSPfmgen DESTINATION ${LIBCSP_INSTALL_DIR}) + if(USE_DEVICES_SHARED_LIB) + add_library(CSPfmgen SHARED + ${s_vm_fmgen_srcs} + ) + set_target_properties(CSPfmgen PROPERTIES + SOVERSION 1.1.0 + VERSION 1.1.0 + ) + INSTALL(TARGETS CSPfmgen DESTINATION ${LIBCSP_INSTALL_DIR}) + else() + add_library(fmgen STATIC + ${s_vm_fmgen_srcs} + ) + endif() endif() diff --git a/source/src/vm/mc6809_base.cpp b/source/src/vm/mc6809_base.cpp index e83dd3ef5..27c143113 100644 --- a/source/src/vm/mc6809_base.cpp +++ b/source/src/vm/mc6809_base.cpp @@ -178,10 +178,6 @@ void MC6809_BASE::initialize() busreq = false; icount = 0; extra_icount = 0; -#ifdef USE_DEBUGGER - d_mem_stored = d_mem; - d_debugger->set_context_mem(d_mem); -#endif } void MC6809_BASE::write_signal(int id, uint32_t data, uint32_t mask)