OSDN Git Service

Build PortAudio
authorStarg <starg@users.osdn.me>
Tue, 9 Jan 2018 00:33:29 +0000 (09:33 +0900)
committerStarg <starg@users.osdn.me>
Tue, 9 Jan 2018 00:33:29 +0000 (09:33 +0900)
CMakeLists.txt
portaudio/CMakeLists.txt [new file with mode: 0644]
portaudio/portaudio.def [new file with mode: 0644]

index 4dcdfbd..90c6317 100644 (file)
@@ -158,7 +158,7 @@ include_directories(
     ogg/include
     opus/include
     pdcurses
-    portaudio/pa_common
+    portaudio/include
     timidity
     utils
     vorbis/include
@@ -169,6 +169,7 @@ add_subdirectory(lame)
 add_subdirectory(ogg)
 add_subdirectory(opus)
 add_subdirectory(pdcurses)
+add_subdirectory(portaudio)
 add_subdirectory(speex)
 add_subdirectory(vorbis)
 
diff --git a/portaudio/CMakeLists.txt b/portaudio/CMakeLists.txt
new file mode 100644 (file)
index 0000000..54923f1
--- /dev/null
@@ -0,0 +1,97 @@
+
+add_definitions(
+#    -DPA_USE_ASIO
+    -DPA_USE_DS
+    -DPA_USE_WMME
+    -DPA_USE_WASAPI
+    -DPA_USE_WDMKS
+)
+
+include_directories(src/common src/os/win)
+
+add_library(
+    portaudio SHARED
+
+    include/pa_asio.h
+    include/pa_jack.h
+    include/pa_linux_alsa.h
+    include/pa_mac_core.h
+    include/pa_win_ds.h
+    include/pa_win_wasapi.h
+    include/pa_win_waveformat.h
+    include/pa_win_wdmks.h
+    include/pa_win_wmme.h
+    include/portaudio.h
+
+    src/common/pa_allocation.c
+    src/common/pa_allocation.h
+    src/common/pa_converters.c
+    src/common/pa_converters.h
+    src/common/pa_cpuload.c
+    src/common/pa_cpuload.h
+    src/common/pa_debugprint.c
+    src/common/pa_debugprint.h
+    src/common/pa_dither.c
+    src/common/pa_dither.h
+    src/common/pa_endianness.h
+    src/common/pa_front.c
+    src/common/pa_gitrevision.h
+    src/common/pa_hostapi.h
+    src/common/pa_memorybarrier.h
+    src/common/pa_process.c
+    src/common/pa_process.h
+    src/common/pa_ringbuffer.c
+    src/common/pa_ringbuffer.h
+    src/common/pa_stream.c
+    src/common/pa_stream.h
+    src/common/pa_trace.c
+    src/common/pa_trace.h
+    src/common/pa_types.h
+    src/common/pa_util.h
+#    src/hostapi/alsa/pa_linux_alsa.c
+#    src/hostapi/asihpi/pa_linux_asihpi.c
+#    src/hostapi/asio/iasiothiscallresolver.cpp
+#    src/hostapi/asio/iasiothiscallresolver.h
+#    src/hostapi/asio/pa_asio.cpp
+#    src/hostapi/coreaudio/pa_mac_core.c
+#    src/hostapi/coreaudio/pa_mac_core_blocking.c
+#    src/hostapi/coreaudio/pa_mac_core_blocking.h
+#    src/hostapi/coreaudio/pa_mac_core_internal.h
+#    src/hostapi/coreaudio/pa_mac_core_old.c
+#    src/hostapi/coreaudio/pa_mac_core_utilities.c
+#    src/hostapi/coreaudio/pa_mac_core_utilities.h
+    src/hostapi/dsound/pa_win_ds.c
+    src/hostapi/dsound/pa_win_ds_dynlink.c
+    src/hostapi/dsound/pa_win_ds_dynlink.h
+#    src/hostapi/jack/pa_jack.c
+#    src/hostapi/oss/pa_unix_oss.c
+#    src/hostapi/oss/recplay.c
+    src/hostapi/skeleton/pa_hostapi_skeleton.c
+    src/hostapi/wasapi/pa_win_wasapi.c
+    src/hostapi/wdmks/pa_win_wdmks.c
+    src/hostapi/wmme/pa_win_wmme.c
+#    src/os/unix/pa_unix_hostapis.c
+#    src/os/unix/pa_unix_util.c
+#    src/os/unix/pa_unix_util.h
+    src/os/win/pa_win_coinitialize.c
+    src/os/win/pa_win_coinitialize.h
+    src/os/win/pa_win_hostapis.c
+    src/os/win/pa_win_util.c
+    src/os/win/pa_win_waveformat.c
+    src/os/win/pa_win_wdmks_utils.c
+    src/os/win/pa_win_wdmks_utils.h
+    src/os/win/pa_x86_plain_converters.c
+    src/os/win/pa_x86_plain_converters.h
+
+    portaudio.def
+)
+
+set_target_properties(portaudio PROPERTIES PREFIX "")
+
+if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
+    set_target_properties(portaudio PROPERTIES OUTPUT_NAME "portaudio_x64")
+else()
+    set_target_properties(portaudio PROPERTIES OUTPUT_NAME "portaudio_x86")
+endif()
+
+target_link_libraries(portaudio ole32 advapi32 setupapi winmm)
diff --git a/portaudio/portaudio.def b/portaudio/portaudio.def
new file mode 100644 (file)
index 0000000..3305117
--- /dev/null
@@ -0,0 +1,48 @@
+EXPORTS
+    Pa_GetVersion                       @1
+    Pa_GetVersionText                   @2
+    Pa_GetErrorText                     @3                 
+    Pa_Initialize                       @4
+    Pa_Terminate                        @5
+    Pa_GetHostApiCount                  @6
+    Pa_GetDefaultHostApi                @7
+    Pa_GetHostApiInfo                   @8
+    Pa_HostApiTypeIdToHostApiIndex      @9
+    Pa_HostApiDeviceIndexToDeviceIndex  @10
+    Pa_GetLastHostErrorInfo             @11
+    Pa_GetDeviceCount                   @12
+    Pa_GetDefaultInputDevice            @13
+    Pa_GetDefaultOutputDevice           @14
+    Pa_GetDeviceInfo                    @15
+    Pa_IsFormatSupported                @16
+    Pa_OpenStream                       @17
+    Pa_OpenDefaultStream                @18
+    Pa_CloseStream                      @19
+    Pa_SetStreamFinishedCallback        @20
+    Pa_StartStream                      @21
+    Pa_StopStream                       @22
+    Pa_AbortStream                      @23
+    Pa_IsStreamStopped                  @24
+    Pa_IsStreamActive                   @25
+    Pa_GetStreamInfo                    @26
+    Pa_GetStreamTime                    @27
+    Pa_GetStreamCpuLoad                 @28
+    Pa_ReadStream                       @29
+    Pa_WriteStream                      @30
+    Pa_GetStreamReadAvailable           @31
+    Pa_GetStreamWriteAvailable          @32
+    Pa_GetSampleSize                    @33
+    Pa_Sleep                            @34
+;    PaAsio_GetAvailableBufferSizes      @50
+;    PaAsio_ShowControlPanel             @51
+    PaUtil_InitializeX86PlainConverters @52
+;    PaAsio_GetInputChannelName          @53
+;    PaAsio_GetOutputChannelName         @54
+    PaUtil_SetDebugPrintFunction        @55
+    PaWasapi_GetDeviceDefaultFormat     @56
+    PaWasapi_GetDeviceRole              @57
+    PaWasapi_ThreadPriorityBoost        @58
+    PaWasapi_ThreadPriorityRevert       @59
+    PaWasapi_GetFramesPerHostBuffer     @60
+    PaWasapi_GetJackDescription         @61
+    PaWasapi_GetJackCount               @62