[Bf-blender-cvs] [a0cbebf] master: Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey.

Jörg Müller noreply at git.blender.org
Tue Jul 28 14:10:27 CEST 2015


Commit: a0cbebf404d6c46e59b090e7217ce39d7e760809
Author: Jörg Müller
Date:   Tue Jun 16 10:03:35 2015 +0200
Branches: master
https://developer.blender.org/rBa0cbebf404d6c46e59b090e7217ce39d7e760809

Audaspace: fixing problems for the merge to master suggested by Campbell and Sergey.

- rename WITH_EXTERNAL_AUDASPACE to WITH_SYSTEM_AUDASPACE.
- rename C/PYAUDASPACE to AUDASPACE_C/PY
- simplifying cmake defines and includes.
- fixing include paths and enabling WITH_SYSTEM_AUDASPACE for windows.
- fixing scons building.
- other minor build system fixes.

===================================================================

M	CMakeLists.txt
M	SConstruct
M	build_files/cmake/Modules/FindAudaspace.cmake
M	build_files/cmake/macros.cmake
M	build_files/scons/config/darwin-config.py
M	build_files/scons/config/linux-config.py
M	build_files/scons/config/win32-mingw-config.py
M	build_files/scons/config/win32-vc-config.py
M	build_files/scons/config/win64-mingw-config.py
M	build_files/scons/config/win64-vc-config.py
M	build_files/scons/tools/btools.py
M	intern/audaspace/CMakeLists.txt
M	intern/audaspace/SConscript
M	intern/audaspace/intern/AUD_PyInit.cpp
M	source/blender/blenkernel/BKE_sound.h
M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/SConscript
M	source/blender/blenkernel/intern/nla.c
M	source/blender/blenkernel/intern/sequencer.c
M	source/blender/blenkernel/intern/sound.c
M	source/blender/blenkernel/intern/writeffmpeg.c
M	source/blender/editors/sound/CMakeLists.txt
M	source/blender/editors/sound/SConscript
M	source/blender/editors/sound/sound_ops.c
M	source/blender/editors/space_graph/CMakeLists.txt
M	source/blender/editors/space_graph/SConscript
M	source/blender/editors/space_graph/graph_edit.c
M	source/blender/editors/space_sequencer/CMakeLists.txt
M	source/blender/editors/space_sequencer/SConscript
M	source/blender/editors/space_sequencer/sequencer_add.c
M	source/blender/makesrna/SConscript
M	source/blender/makesrna/intern/CMakeLists.txt
M	source/blender/makesrna/intern/SConscript
M	source/blender/makesrna/intern/rna_scene.c
M	source/blender/python/SConscript
M	source/blender/windowmanager/CMakeLists.txt
M	source/blender/windowmanager/SConscript
M	source/blender/windowmanager/intern/wm_playanim.c
M	source/creator/CMakeLists.txt
M	source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
M	source/gameengine/BlenderRoutines/CMakeLists.txt
M	source/gameengine/BlenderRoutines/SConscript
M	source/gameengine/Converter/CMakeLists.txt
M	source/gameengine/Converter/KX_ConvertActuators.cpp
M	source/gameengine/Converter/SConscript
M	source/gameengine/GamePlayer/ghost/CMakeLists.txt
M	source/gameengine/GamePlayer/ghost/GPG_Application.cpp
M	source/gameengine/GamePlayer/ghost/SConscript
M	source/gameengine/Ketsji/CMakeLists.txt
M	source/gameengine/Ketsji/KX_PythonInit.cpp
M	source/gameengine/Ketsji/KX_SoundActuator.cpp
M	source/gameengine/Ketsji/KX_SoundActuator.h
M	source/gameengine/Ketsji/SConscript

===================================================================

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cac75d3..591942c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -247,8 +247,13 @@ option(WITH_HEADLESS      "Build without graphical support (renderfarm, server m
 mark_as_advanced(WITH_HEADLESS)
 
 option(WITH_AUDASPACE    "Build with blenders audio library (only disable if you know what you're doing!)" ON)
-option(WITH_EXTERNAL_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF)
+option(WITH_SYSTEM_AUDASPACE "Build with external audaspace library installed on the system (only enable if you know what you're doing!)" OFF)
 mark_as_advanced(WITH_AUDASPACE)
+mark_as_advanced(WITH_SYSTEM_AUDASPACE)
+
+if(NOT WITH_AUDASPACE)
+	set(WITH_SYSTEM_AUDASPACE OFF)
+endif()
 
 option(WITH_OPENMP        "Enable OpenMP (has to be supported by the compiler)" ON)
 
@@ -707,6 +712,29 @@ if(HAVE_STDBOOL_H)
 	add_definitions(-DHAVE_STDBOOL_H)
 endif()
 
+if(WITH_AUDASPACE)
+	if(WITH_SYSTEM_AUDASPACE)
+		add_definitions("-DAUD_DEVICE_H=<AUD_Device.h>")
+		add_definitions("-DAUD_SPECIAL_H=<AUD_Special.h>")
+		add_definitions("-DAUD_SOUND_H=<AUD_Sound.h>")
+		add_definitions("-DAUD_HANDLE_H=<AUD_Handle.h>")
+		add_definitions("-DAUD_SEQUENCE_H=<AUD_Sequence.h>")
+		add_definitions("-DAUD_TYPES_H=<AUD_Types.h>")
+		add_definitions("-DAUD_PYTHON_H=<python/PyAPI.h>")
+		set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE -DWITH_SYSTEM_AUDASPACE)
+	else()
+		add_definitions("-DAUD_DEVICE_H=<AUD_C-API.h>")
+		add_definitions("-DAUD_SPECIAL_H=<AUD_C-API.h>")
+		add_definitions("-DAUD_SOUND_H=<AUD_C-API.h>")
+		add_definitions("-DAUD_HANDLE_H=<AUD_C-API.h>")
+		add_definitions("-DAUD_SEQUENCE_H=<AUD_C-API.h>")
+		add_definitions("-DAUD_TYPES_H=<AUD_Space.h>")
+		set(AUDASPACE_C_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
+		set(AUDASPACE_PY_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/intern/audaspace/intern")
+		set(AUDASPACE_DEFINITIONS -DWITH_AUDASPACE)
+	endif()
+endif()
+
 #-----------------------------------------------------------------------------
 # Check for valid directories
 # ... a partial checkout may cause this.
@@ -884,9 +912,9 @@ if(UNIX AND NOT APPLE)
 	endif()
 
 	# Audio IO
-	if(WITH_EXTERNAL_AUDASPACE)
+	if(WITH_SYSTEM_AUDASPACE)
 		find_package_wrapper(Audaspace)
-		if(NOT AUDASPACE_FOUND OR NOT CAUDASPACE_FOUND)
+		if(NOT AUDASPACE_FOUND OR NOT AUDASPACE_C_FOUND)
 			message(FATAL_ERROR "Audaspace external library not found!")
 		endif()
 	endif()
@@ -1550,6 +1578,16 @@ elseif(WIN32)
 			set(SDL_LIBPATH ${SDL}/lib)
 		endif()
 
+		# Audio IO
+		if(WITH_SYSTEM_AUDASPACE)
+			set(AUDASPACE_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+			set(AUDASPACE_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace.lib)
+			set(AUDASPACE_C_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+			set(AUDASPACE_C_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-c.lib)
+			set(AUDASPACE_PY_INCLUDE_DIRS ${LIBDIR}/audaspace/include/audaspace)
+			set(AUDASPACE_PY_LIBRARIES ${LIBDIR}/audaspace/lib/audaspace-py.lib)
+		endif()
+
 		# used in many places so include globally, like OpenGL
 		blender_include_dirs_sys("${PTHREADS_INCLUDE_DIRS}")
 
diff --git a/SConstruct b/SConstruct
index f706645..ea3d840 100644
--- a/SConstruct
+++ b/SConstruct
@@ -540,13 +540,25 @@ else:
     env['CPPFLAGS'].append('-D__LITTLE_ENDIAN__')
 
 # TODO, make optional (as with CMake)
-env['CPPFLAGS'].append('-DWITH_AUDASPACE')
 env['CPPFLAGS'].append('-DWITH_AVI')
 env['CPPFLAGS'].append('-DWITH_OPENNL')
 
 if env['OURPLATFORM'] not in ('win32-vc', 'win64-vc'):
     env['CPPFLAGS'].append('-DHAVE_STDBOOL_H')
 
+# Audaspace
+
+if env['WITH_BF_AUDASPACE']:
+    env['BF_AUDASPACE_C_INC'] = '#intern/audaspace/intern'
+    env['BF_AUDASPACE_PY_INC'] = '#intern/audaspace/intern'
+    env['BF_AUDASPACE_DEF'] = ['WITH_AUDASPACE']
+    env['BF_AUDASPACE_DEF'].append('AUD_DEVICE_H="<AUD_C-API.h>"')
+    env['BF_AUDASPACE_DEF'].append('AUD_SPECIAL_H="<AUD_C-API.h>"')
+    env['BF_AUDASPACE_DEF'].append('AUD_SOUND_H="<AUD_C-API.h>"')
+    env['BF_AUDASPACE_DEF'].append('AUD_HANDLE_H="<AUD_C-API.h>"')
+    env['BF_AUDASPACE_DEF'].append('AUD_SEQUENCE_H="<AUD_C-API.h>"')
+    env['BF_AUDASPACE_DEF'].append('AUD_TYPES_H="<AUD_Space.h>"')
+
 # OpenGL
 
 if env['WITH_BF_GL_PROFILE_COMPAT']:
diff --git a/build_files/cmake/Modules/FindAudaspace.cmake b/build_files/cmake/Modules/FindAudaspace.cmake
index 361c1bf..5d0c765 100644
--- a/build_files/cmake/Modules/FindAudaspace.cmake
+++ b/build_files/cmake/Modules/FindAudaspace.cmake
@@ -4,12 +4,24 @@
 #  AUDASPACE_FOUND - system has audaspace
 #  AUDASPACE_INCLUDE_DIRS - the audaspace include directories
 #  AUDASPACE_LIBRARIES - link these to use audaspace
-#  CAUDASPACE_FOUND - system has audaspace's C binding
-#  CAUDASPACE_INCLUDE_DIRS - the audaspace's C binding include directories
-#  CAUDASPACE_LIBRARIES - link these to use audaspace's C binding
-#  PYAUDASPACE_FOUND - system has audaspace's python binding
-#  PYAUDASPACE_INCLUDE_DIRS - the audaspace's python binding include directories
-#  PYAUDASPACE_LIBRARIES - link these to use audaspace's python binding
+#  AUDASPACE_C_FOUND - system has audaspace's C binding
+#  AUDASPACE_C_INCLUDE_DIRS - the audaspace's C binding include directories
+#  AUDASPACE_C_LIBRARIES - link these to use audaspace's C binding
+#  AUDASPACE_PY_FOUND - system has audaspace's python binding
+#  AUDASPACE_PY_INCLUDE_DIRS - the audaspace's python binding include directories
+#  AUDASPACE_PY_LIBRARIES - link these to use audaspace's python binding
+
+IF(NOT AUDASPACE_ROOT_DIR AND NOT $ENV{AUDASPACE_ROOT_DIR} STREQUAL "")
+	SET(AUDASPACE_ROOT_DIR $ENV{AUDASPACE_ROOT_DIR})
+ENDIF()
+
+SET(_audaspace_SEARCH_DIRS
+	${AUDASPACE_ROOT_DIR}
+	/usr/local
+	/sw # Fink
+	/opt/local # DarwinPorts
+	/opt/csw # Blastwave
+)
 
 # Use pkg-config to get hints about paths
 find_package(PkgConfig)
@@ -19,58 +31,77 @@ endif(PKG_CONFIG_FOUND)
 
 # Include dir
 find_path(AUDASPACE_INCLUDE_DIR
-	NAMES audaspace/ISound.h
+	NAMES ISound.h
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
 )
 
 # Library
 find_library(AUDASPACE_LIBRARY
 	NAMES audaspace
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
 )
 
 # Include dir
-find_path(CAUDASPACE_INCLUDE_DIR
-	NAMES audaspace/AUD_Sound.h
+find_path(AUDASPACE_C_INCLUDE_DIR
+	NAMES AUD_Sound.h
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
 )
 
 # Library
-find_library(CAUDASPACE_LIBRARY
-	NAMES caudaspace
+find_library(AUDASPACE_C_LIBRARY
+	NAMES audaspace-c
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
 )
 
 # Include dir
-find_path(PYAUDASPACE_INCLUDE_DIR
-	NAMES audaspace/python/PyAPI.h
+find_path(AUDASPACE_PY_INCLUDE_DIR
+	NAMES python/PyAPI.h
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_INCLUDE_DIRS}
 )
 
 # Library
-find_library(PYAUDASPACE_LIBRARY
-	NAMES pyaudaspace
+find_library(AUDASPACE_PY_LIBRARY
+	NAMES audaspace-py
+	HINTS ${_audaspace_SEARCH_DIRS}
 	PATHS ${AUDASPACE_PKGCONF_LIBRARY_DIRS}
 )
 
 find_package(PackageHandleStandardArgs)
 find_package_handle_standard_args(Audaspace  DEFAULT_MSG  AUDASPACE_LIBRARY AUDASPACE_INCLUDE_DIR)
-find_package_handle_standard_args(CAudaspace  DEFAULT_MSG  CAUDASPACE_LIBRARY CAUDASPACE_INCLUDE_DIR)
-find_package_handle_standard_args(PyAudaspace  DEFAULT_MSG  PYAUDASPACE_LIBRARY PYAUDASPACE_INCLUDE_DIR)
+find_package_handle_standard_args(Audaspace_C  DEFAULT_MSG  AUDASPACE_C_LIBRARY AUDASPACE_C_INCLUDE_DIR)
+find_package_handle_standard_args(Audaspace_Py  DEFAULT_MSG  AUDASPACE_PY_LIBRARY AUDASPACE_PY_INCLUDE_DIR)
 
 if(AUDASPACE_FOUND)
-  set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
-  set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
+	set(AUDASPACE_LIBRARIES ${AUDASPACE_LIBRARY})
+	set(AUDASPACE_INCLUDE_DIRS ${AUDASPACE_INCLUDE_DIR})
 endif(AUDASPACE_FOUND)
 
-if(CAUDASPACE_FOUND)
-  set(CAUDASPACE_LIBRARIES ${CAUDASPACE_LIBRARY})
-  set(CAUDASPACE_INCLUDE_DIRS ${CAUDASPACE_INCLUDE_DIR})
-endif(CAUDASPACE_FOUND)
+if(AUDASPACE_C_FOUND)
+	set(AUDASPACE_C_LIBRARIES ${AUDASPACE_C_LIBRARY})
+	set(AUDASPACE_C_INCLUDE_DIRS ${AUDASPACE_C_INCLUDE_DIR})
+endif(AUDASPACE_C_FOUND)
 
-if(PYAUDASPACE_FOUND)
-  set(PYAUDASPACE_LIBRARIES ${PYAUDASPACE_LIBRARY})
-  set(PYAUDASPACE_INCLUDE_DIRS ${PYAUDASPACE_INCLUDE_DIR})
-endif(PYAUDASPACE_FOUND)
+if(AUDASPACE_PY_FOUND)
+	set(AUDASPACE_PY_LIBRARIES ${AUDASPACE_PY_LIBRARY})
+	set(AUDASPACE_PY_INCLUDE_DIRS ${AUDASPACE_PY_INCLUDE_DIR})
+endif(AUDASPACE_PY_FOUND)
 
-mark_as_advanced(AUDASPACE_LIBRARY AUDASPACE_LIBRARIES AUDASPACE_INCLUDE_DIR AUDASPACE_INCLUDE_DIRS CAUDASPACE_LIBRARY CAUDASPACE_LIBRARIES CAUDASPACE_INCLUDE_DIR CAUDASPACE_INCLUDE_DIRS PYAUDASPACE_LIBRARY PYAUDASPACE_LIBRARIES PYAUDASPACE_INCLUDE_DIR PYAUDASPACE_INCLUDE_DIRS)
+mark_as_advanced(
+	AUDASPACE_LIBRARY
+	AUDASPACE_LIBRARIES
+	AUDASPACE_INCLUDE_DIR
+	AUDASPACE_INCLUDE_DIRS
+	AUDASPACE_C_LIBRARY
+	AUDASPACE_C_LIBRARIES
+	AUDASPACE_C_INCLUDE_DIR
+	AUDASPACE_C_INCLUDE_DIRS
+	AUDASPACE_PY_LIBRARY
+	AUDASPACE_PY_LIBRARIES
+	AUDASPACE_PY_INCLUDE_DIR
+	AUDASPACE_PY_INCLUDE_DIRS
+)
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index de2109b..e7fc0ec 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -343,8 +343,8 @@ function(setup_liblinks
 	if(WITH_BULLET AND WITH_SYSTEM_BULLET)
 		target_link_libraries(${target} ${BULLET_LIBRARIES})
 	endif()
-	if(WITH_EXTERNAL_AUDASPACE)
-		target_link_libraries(${target} ${CAUDASPACE_LIBRARIES} ${PYAUDASPACE_LIBRARIES})
+	if(WITH_AUDASPACE AND WITH_SYSTEM_AUDASPACE)
+		target_link_libraries(${target} ${AUDASPACE_C_LIBRARIES} ${AUDASPACE_PY_LIBRARIES})
 	endif()
 	if(WITH_OPENAL)
 		target_link_libraries(${target} ${OPENAL_LIBRARY})
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index d3d4afa..0bf03a4 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -52,6 +52,8 @@ BF_CXX = '/usr'
 WITH_BF_STATICCXX = False
 BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
 
+WITH_BF_AUDASPACE = True
+
 # we use simply jack framework
 WIT

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list