forked from hagbard/fluidsynth

257 changed files with 45464 additions and 42089 deletions
@ -0,0 +1,63 @@ |
|||
image: |
|||
- Visual Studio 2013 |
|||
|
|||
build: |
|||
parallel: true |
|||
verbosity: detailed |
|||
|
|||
environment: |
|||
matrix: |
|||
- platform: x86 |
|||
glib-url: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib_2.28.8-1_win32.zip |
|||
glib-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib-dev_2.28.8-1_win32.zip |
|||
pkg-config-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.26-1_win32.zip |
|||
gettext-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip |
|||
proxy-libintl-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/proxy-libintl-dev_20100902_win32.zip |
|||
|
|||
- platform: x64 |
|||
glib-url: http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip |
|||
glib-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib-dev_2.26.1-1_win64.zip |
|||
pkg-config-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/pkg-config_0.23-2_win64.zip |
|||
gettext-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip |
|||
proxy-libintl-dev-url: http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/proxy-libintl-dev_20100902_win64.zip |
|||
|
|||
init: |
|||
- echo %APPVEYOR_BUILD_WORKER_IMAGE% |
|||
|
|||
install: |
|||
# make sure the latest version of git is installed |
|||
- choco upgrade git -y |
|||
- mkdir c:\deps |
|||
- cd c:\deps |
|||
- curl -fsS -o glib.zip %glib-url% |
|||
- curl -fsS -o glib-dev.zip %glib-dev-url% |
|||
- curl -fsS -o pkg-config.zip %pkg-config-url% |
|||
- curl -fsS -o gettext.zip %gettext-url% |
|||
- curl -fsS -o libintl-dev.zip %proxy-libintl-dev-url% |
|||
- 7z x glib.zip > NUL |
|||
- 7z x glib-dev.zip > NUL |
|||
- 7z x pkg-config.zip > NUL |
|||
- 7z x gettext.zip > NUL |
|||
- 7z x libintl-dev.zip > NUL |
|||
- SET PATH=C:\deps\bin;%PATH% |
|||
- if "%platform%"=="x64" ( SET "PATH=C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%" ) else ( SET "PATH=C:\MinGW\bin;%PATH%" ) |
|||
|
|||
build_script: |
|||
# - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 |
|||
# - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64 |
|||
- cd C:\projects\fluidsynth-rjimi |
|||
- mkdir build |
|||
- cd build |
|||
# remove that path from PATH to make sure sh.exe is not found (cmake will complain otherwise) |
|||
- set PATH=%PATH:C:\Program Files\Git\usr\bin;=% |
|||
- echo %PATH% |
|||
- echo %CFLAGS% |
|||
- cmake -G "MinGW Makefiles" -DCMAKE_VERBOSE_MAKEFILE=1 .. |
|||
- mingw32-make.exe check |
|||
|
|||
after_build: |
|||
- 7z a fluidsynth-%platform%.zip %APPVEYOR_BUILD_FOLDER%\build\src\* c:\deps\bin\libglib*.dll c:\deps\bin\libgthread*.dll c:\deps\bin\*intl*.dll |
|||
|
|||
artifacts: |
|||
- path: build/fluidsynth-%platform%.zip |
|||
name: FluidSynth |
@ -0,0 +1,10 @@ |
|||
freebsd_instance: |
|||
image: freebsd-12-0-release-amd64 |
|||
|
|||
task: |
|||
install_script: pwd && ls -la && pkg install -y cmake glib alsa-lib ladspa portaudio pulseaudio pkgconf |
|||
|
|||
compile_script: pwd && ls -la && mkdir $HOME/fluidsynth_install/ && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$HOME/fluidsynth_install -Denable-portaudio=1 -Denable-ladspa=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE=0 .. && make -j4 && make check && make install |
|||
|
|||
|
|||
|
@ -0,0 +1,61 @@ |
|||
AccessModifierOffset: 0 |
|||
AlignEscapedNewlinesLeft: true |
|||
AlignTrailingComments: true |
|||
AllowAllParametersOfDeclarationOnNextLine: false |
|||
AllowShortFunctionsOnASingleLine: false |
|||
AllowShortIfStatementsOnASingleLine: false |
|||
AllowShortLoopsOnASingleLine: false |
|||
AlwaysBreakBeforeMultilineStrings: false |
|||
AlwaysBreakTemplateDeclarations: false |
|||
BinPackArguments: false |
|||
BinPackParameters: false |
|||
BreakBeforeBinaryOperators: false |
|||
BreakBeforeTernaryOperators: false |
|||
BreakConstructorInitializersBeforeComma: false |
|||
|
|||
BreakBeforeBraces: Custom |
|||
BraceWrapping: |
|||
AfterClass: true |
|||
AfterControlStatement: true |
|||
AfterEnum: true |
|||
AfterFunction: true |
|||
AfterNamespace: true |
|||
AfterStruct: true |
|||
AfterUnion: true |
|||
BeforeCatch: true |
|||
BeforeElse: true |
|||
IndentBraces: false |
|||
|
|||
ColumnLimit: 100 |
|||
CommentPragmas: '' |
|||
ConstructorInitializerAllOnOneLineOrOnePerLine: false |
|||
ConstructorInitializerIndentWidth: 0 |
|||
ContinuationIndentWidth: 0 |
|||
Cpp11BracedListStyle: false |
|||
DerivePointerAlignment: false |
|||
IndentCaseLabels: true |
|||
IndentWidth: 4 |
|||
Language: Cpp |
|||
MaxEmptyLinesToKeep: 2 |
|||
NamespaceIndentation: All |
|||
PenaltyBreakBeforeFirstCallParameter: 100 |
|||
PenaltyBreakComment: 100 |
|||
PenaltyBreakFirstLessLess: 0 |
|||
PenaltyBreakString: 100 |
|||
PenaltyExcessCharacter: 1 |
|||
PenaltyReturnTypeOnItsOwnLine: 20 |
|||
SpaceAfterCStyleCast: false |
|||
SpaceAfterTemplateKeyword: false |
|||
SpaceBeforeAssignmentOperators: true |
|||
SpaceBeforeParens: ControlStatements |
|||
SpaceInEmptyParentheses: false |
|||
SpacesBeforeTrailingComments: 1 |
|||
SpacesInAngles: false |
|||
SpacesInCStyleCastParentheses: false |
|||
SpacesInContainerLiterals: false |
|||
SpacesInParentheses: false |
|||
SpacesInSquareBrackets: false |
|||
SortIncludes: false |
|||
Standard: Cpp11 |
|||
TabWidth: 4 |
|||
UseTab: Never |
@ -0,0 +1,54 @@ |
|||
--- |
|||
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,cert-*,clang-analyzer-*,performance-*,readability-avoid-const-params-in-decls,readability-braces-around-statements,readability-delete-null-pointer,readability-implicit-bool-conversion,readability-misleading-indentation,readability-misplaced-array-index,readability-non-const-parameter,readability-redundant-control-flow,readability-redundant-declaration,readability-redundant-function-ptr-dereference,readability-simplify-boolean-expr' |
|||
WarningsAsErrors: '' |
|||
HeaderFilterRegex: '' |
|||
AnalyzeTemporaryDtors: false |
|||
FormatStyle: file |
|||
User: tom |
|||
CheckOptions: |
|||
- key: cert-dcl59-cpp.HeaderFileExtensions |
|||
value: h,hh,hpp,hxx |
|||
- key: cert-err09-cpp.CheckThrowTemporaries |
|||
value: '1' |
|||
- key: cert-err61-cpp.CheckThrowTemporaries |
|||
value: '1' |
|||
- key: cert-oop11-cpp.IncludeStyle |
|||
value: llvm |
|||
- key: google-readability-braces-around-statements.ShortStatementLines |
|||
value: '1' |
|||
- key: google-readability-function-size.StatementThreshold |
|||
value: '800' |
|||
- key: google-readability-namespace-comments.ShortNamespaceLines |
|||
value: '10' |
|||
- key: google-readability-namespace-comments.SpacesBeforeComments |
|||
value: '2' |
|||
- key: modernize-loop-convert.MaxCopySize |
|||
value: '16' |
|||
- key: modernize-loop-convert.MinConfidence |
|||
value: reasonable |
|||
- key: modernize-loop-convert.NamingStyle |
|||
value: CamelCase |
|||
- key: modernize-pass-by-value.IncludeStyle |
|||
value: llvm |
|||
- key: modernize-replace-auto-ptr.IncludeStyle |
|||
value: llvm |
|||
- key: modernize-use-nullptr.NullMacros |
|||
value: 'NULL' |
|||
- key: performance-faster-string-find.StringLikeClasses |
|||
value: 'std::basic_string' |
|||
- key: performance-for-range-copy.WarnOnAllAutoCopies |
|||
value: '0' |
|||
- key: performance-inefficient-string-concatenation.StrictMode |
|||
value: '0' |
|||
- key: performance-type-promotion-in-math-fn.IncludeStyle |
|||
value: llvm |
|||
- key: performance-unnecessary-value-param.IncludeStyle |
|||
value: llvm |
|||
- key: readability-braces-around-statements.ShortStatementLines |
|||
value: '0' |
|||
- key: readability-simplify-boolean-expr.ChainedConditionalAssignment |
|||
value: '0' |
|||
- key: readability-simplify-boolean-expr.ChainedConditionalReturn |
|||
value: '0' |
|||
... |
|||
|
@ -0,0 +1,45 @@ |
|||
<!-- |
|||
This issue tracker is only for bug reports and concrete feature requests. |
|||
DO NOT SUBMIT SUPPORT REQUESTS OR "HOW TO" QUESTIONS HERE! |
|||
Else it might be closed without further notice. |
|||
|
|||
If you have a question look into our wiki |
|||
( https://github.com/FluidSynth/fluidsynth/wiki ) |
|||
or the developer resources |
|||
( http://www.fluidsynth.org/api/ ) |
|||
|
|||
If you still have a question, need support or want to discuss ideas, contact our mailing list: |
|||
https://lists.nongnu.org/mailman/listinfo/fluid-dev |
|||
|
|||
Below is a form that shall help getting relevant information for bugs and feature requests together. |
|||
We strongly recommend to use it! Feel free to edit or remove inapplicable/unneeded parts. |
|||
--> |
|||
|
|||
### FluidSynth version <!-- enter FluidSynths version you're using --> |
|||
1.1.x |
|||
|
|||
### Current behavior |
|||
<!-- Describe the current situation, e.g. how the bug manifests. --> |
|||
|
|||
### Expected behavior |
|||
<!-- Describe what the behavior would be without the bug or how the |
|||
feature request would make your life easier. --> |
|||
|
|||
### Steps to reproduce |
|||
<!-- Please explain the steps required to duplicate the issue, |
|||
esp. if you are able to provide a sample application. |
|||
E.g. how to start fluidsynth, what shell commands to enter, what midi events to send, etc. --> |
|||
|
|||
### Other information |
|||
<!-- If you are able to illustrate the bug or feature request with an example, please provide simple |
|||
source code below or as attatched file. List any other information that is relevant to your issue: |
|||
Stack traces, |
|||
related issues, |
|||
build logs, |
|||
suggestions on how to fix, |
|||
links to related discussions at fluid-dev |
|||
etc. |
|||
--> |
|||
``` |
|||
insert code snippets, soundfonts or anything relevant here, or attach it as extra file(s) if it's too much |
|||
``` |
@ -0,0 +1,40 @@ |
|||
build/ |
|||
|
|||
CMakeCache.txt |
|||
CMakeFiles |
|||
Makefile |
|||
cmake_install.cmake |
|||
install_manifest.txt |
|||
|
|||
# Object files |
|||
*.o |
|||
*.ko |
|||
*.obj |
|||
*.elf |
|||
|
|||
# Precompiled Headers |
|||
*.gch |
|||
*.pch |
|||
|
|||
# Libraries |
|||
*.lib |
|||
*.a |
|||
*.la |
|||
*.lo |
|||
|
|||
# Shared objects (inc. Windows DLLs) |
|||
*.dll |
|||
*.so |
|||
*.so.* |
|||
*.dylib |
|||
|
|||
# Executables |
|||
*.exe |
|||
*.out |
|||
*.app |
|||
*.i*86 |
|||
*.x86_64 |
|||
*.hex |
|||
|
|||
# ProjectFiles |
|||
*.pro.user* |
@ -1,198 +1,72 @@ |
|||
language: c |
|||
#sudo: required |
|||
sudo: false |
|||
os: linux |
|||
dist: trusty |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
- llvm-toolchain-trusty-6.0 |
|||
- llvm-toolchain-trusty-7 |
|||
packages: |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- libsndfile-dev |
|||
- libasound2-dev |
|||
- libjack-dev |
|||
- portaudio19-dev |
|||
- libpulse-dev |
|||
- libdbus-glib-1-dev |
|||
- ladspa-sdk |
|||
env: |
|||
- CMAKE_FLAGS="-Denable-profiling=1" |
|||
- CMAKE_FLAGS="-Denable-floats=1 -Denable-profiling=1" |
|||
- CMAKE_FLAGS="-Denable-floats=0" |
|||
- CMAKE_FLAGS="-Denable-trap-on-fpe=1" |
|||
- CMAKE_FLAGS="-Denable-fpe-check=1" |
|||
- CMAKE_FLAGS="-Denable-ipv6=0" |
|||
- CMAKE_FLAGS="-Denable-network=0" |
|||
- CMAKE_FLAGS="-Denable-aufile=0" |
|||
- CMAKE_FLAGS="-DBUILD_SHARED_LIBS=0" |
|||
|
|||
matrix: |
|||
include: |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-4.8 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- libsndfile-dev |
|||
- libasound2-dev |
|||
- libjack-dev |
|||
- portaudio19-dev |
|||
- libpulse-dev |
|||
- libdbus-glib-1-dev |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8" |
|||
- CMAKE_FLAGS="-Denable-floats=1" |
|||
|
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-4.8 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- libsndfile-dev |
|||
- libasound2-dev |
|||
- libjack-dev |
|||
- portaudio19-dev |
|||
- libpulse-dev |
|||
- libdbus-glib-1-dev |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-4.8 && CXX=g++-4.8" |
|||
- CMAKE_FLAGS="-Denable-floats=0" |
|||
|
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-4.9 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" |
|||
|
|||
# works on Precise and Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-5 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-5 && CXX=g++-5" |
|||
- CMAKE_FLAGS="-Denable-debug=1" |
|||
|
|||
# works on Precise and Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-6 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" |
|||
- os: osx |
|||
osx_image: xcode10 |
|||
|
|||
# works on Precise and Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
packages: |
|||
- g++-7 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" |
|||
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7 && sudo apt-get install gcc-7" |
|||
|
|||
# works on Precise and Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- ubuntu-toolchain-r-test |
|||
- llvm-toolchain-precise-3.8 |
|||
packages: |
|||
- clang-3.8 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8" |
|||
- MATRIX_EVAL="CC=gcc-8 && CXX=g++-8 && sudo apt-get install gcc-8" |
|||
- CMAKE_FLAGS="-Denable-debug=1 -DCMAKE_C_FLAGS_DEBUG=-fuse-ld=gold" |
|||
|
|||
# works on Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- llvm-toolchain-trusty-3.9 |
|||
packages: |
|||
- clang-3.9 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=clang-3.9 && CXX=clang++-3.9" |
|||
- MATRIX_EVAL="CC=clang-3.8 && CXX=clang++-3.8 && sudo apt-get install clang-3.8" |
|||
|
|||
# works on Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- llvm-toolchain-trusty-4.0 |
|||
packages: |
|||
- clang-4.0 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=clang-4.0 && CXX=clang++-4.0" |
|||
- MATRIX_EVAL="CC=clang-6.0 && CXX=clang++-6.0 && sudo apt-get install clang-6.0" |
|||
|
|||
# works on Trusty |
|||
- os: linux |
|||
addons: |
|||
apt: |
|||
sources: |
|||
- llvm-toolchain-trusty-5.0 |
|||
packages: |
|||
- clang-5.0 |
|||
- cmake-data |
|||
- cmake |
|||
- libglib2.0-0 |
|||
- ladspa-sdk |
|||
env: |
|||
- MATRIX_EVAL="CC=clang-5.0 && CXX=clang++-5.0" |
|||
|
|||
- os: osx |
|||
osx_image: xcode8 |
|||
env: |
|||
- MATRIX_EVAL="brew install gcc5 glib && CC=gcc-5 && CXX=g++-5" |
|||
|
|||
- os: osx |
|||
osx_image: xcode8 |
|||
env: |
|||
- MATRIX_EVAL="brew install gcc6 glib && CC=gcc-6 && CXX=g++-6" |
|||
|
|||
- os: osx |
|||
osx_image: xcode8 |
|||
env: |
|||
- MATRIX_EVAL="brew install gcc glib libsndfile jack dbus-glib pulseaudio portaudio && CC=gcc-7 && CXX=g++-7" |
|||
- MATRIX_EVAL="CC=clang-7 && CXX=clang++-7 && sudo apt-get install clang-7" |
|||
|
|||
before_install: |
|||
- if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update; else brew update; fi |
|||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install glib gettext libsndfile jack dbus-glib pulseaudio portaudio; fi # && brew link gettext |
|||
- eval "${MATRIX_EVAL}" |
|||
|
|||
before_script: |
|||
- mkdir $HOME/fluidsynth_install/ |
|||
- mkdir build && cd build |
|||
|
|||
script: |
|||
- cmake ${CMAKE_FLAGS} "-Denable-portaudio=1" "-Denable-ladspa=1" "-DCMAKE_BUILD_TYPE=RelWithDebInfo" .. |
|||
- cmake -DCMAKE_INSTALL_PREFIX=$HOME/fluidsynth_install ${CMAKE_FLAGS} -Denable-portaudio=1 -Denable-ladspa=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE=0 .. |
|||
- make -j4 |
|||
- make check |
|||
- if [ $TRAVIS_OS_NAME = linux ]; then make install; fi # install only on linux, as CMAKE_INSTALL_PREFIX is ignored for frameworks on macosx and I cant tell whether that's correct or a bug. |
|||
|
@ -0,0 +1,40 @@ |
|||
# Contributing |
|||
|
|||
Thanks for considering to contribute to FluidSynth. Before implementing |
|||
any huge new feature, consider bringing up your ideas on our mailing list: |
|||
https://lists.nongnu.org/mailman/listinfo/fluid-dev |
|||
|
|||
Contributing can be done by |
|||
* [submitting pull requests on Github]( |
|||
https://help.github.com/articles/proposing-changes-to-your-work-with-pull-requests/) or |
|||
* submitting patches to the mailing list. |
|||
|
|||
Patches should be created with `git format-patch`, so in every case you should be familiar with the basics of git. Make sure you develop against the master branch, i.e. **not** against any FluidSynth release. |
|||
|
|||
Some things that will increase the chance that your pull request or patch is accepted: |
|||
|
|||
* Give a reasoning / motivation for any changes or proposals you make. |
|||
* Follow our style guide. |
|||
* Keep your commits "atomic". |
|||
* Write meaningful commit messages. |
|||
|
|||
## Style Guide |
|||
|
|||
Find FluidSynth's style guide below. Syntax related issues, like missing braces, will be automatically taken care of when compiling fluidsynth by calling `make` (provided that cmake has found `clang-tidy >= 5.0` on your system). An explicit reformatting can be achieved using `make format` (provided that cmake has found `clang-format` on your system). |
|||
|
|||
#### General |
|||
* Every function should have a short comment explaining it's purpose |
|||
* Every public API function **must** be documented with purpose, params and return value |
|||
* Prefer signed integer types to unsigned ones |
|||
* Use spaces rather than tabs |
|||
* Avoid macros |
|||
|
|||
#### Naming Conventions |
|||
* Words separated by underscores |
|||
* Macros always UPPER_CASE |
|||
* Function and Variable names always lower_case, (e.g. `fluid_componentname_purpose()`) |
|||
|
|||
#### Bracing |
|||
* Every block after an if, else, while or for should be enclosed in braces |
|||
* **Allman-Style** braces everywhere |
|||
|
@ -1,192 +0,0 @@ |
|||
Select build system |
|||
=================== |
|||
|
|||
fluidsynth currently provides two different build systems, one based |
|||
on autotools, the other based on cmake. The autotools build system |
|||
is deprected, unmaintained and will be removed in a future release. |
|||
The recommend way to build is using cmake, please see the |
|||
README.cmake file. If you still want to use the unsupported |
|||
autotools build system, see below. |
|||
|
|||
Basic Installation |
|||
================== |
|||
|
|||
These are generic installation instructions. |
|||
|
|||
The `configure' shell script attempts to guess correct values for |
|||
various system-dependent variables used during compilation. It uses |
|||
those values to create a `Makefile' in each directory of the package. |
|||
It may also create one or more `.h' files containing system-dependent |
|||
definitions. Finally, it creates a shell script `config.status' that |
|||
you can run in the future to recreate the current configuration, a file |
|||
`config.cache' that saves the results of its tests to speed up |
|||
reconfiguring, and a file `config.log' containing compiler output |
|||
(useful mainly for debugging `configure'). |
|||
|
|||
If you need to do unusual things to compile the package, please try |
|||
to figure out how `configure' could check whether to do them, and mail |
|||
diffs or instructions to the address given in the `README' so they can |
|||
be considered for the next release. If at some point `config.cache' |
|||
contains results you don't want to keep, you may remove or edit it. |
|||
|
|||
The file `configure.in' is used to create `configure' by a program |
|||
called `autoconf'. You only need `configure.in' if you want to change |
|||
it or regenerate `configure' using a newer version of `autoconf'. |
|||
|
|||
The simplest way to compile this package is: |
|||
|
|||
1. `cd' to the directory containing the package's source code and type |
|||
`./configure' to configure the package for your system. If you're |
|||
using `csh' on an old version of System V, you might need to type |
|||
`sh ./configure' instead to prevent `csh' from trying to execute |
|||
`configure' itself. |
|||
|
|||
Running `configure' takes awhile. While running, it prints some |
|||
messages telling which features it is checking for. |
|||
|
|||
2. Type `make' to compile the package. |
|||
|
|||
3. Optionally, type `make check' to run any self-tests that come with |
|||
the package. |
|||
|
|||
4. Type `make install' to install the programs and any data files and |
|||
documentation. |
|||
|
|||
5. You can remove the program binaries and object files from the |
|||
source code directory by typing `make clean'. To also remove the |
|||
files that `configure' created (so you can compile the package for |
|||
a different kind of computer), type `make distclean'. There is |
|||
also a `make maintainer-clean' target, but that is intended mainly |
|||
for the package's developers. If you use it, you may have to get |
|||
all sorts of other programs in order to regenerate files that came |
|||
with the distribution. |
|||
|
|||
Compilers and Options |
|||
===================== |
|||
|
|||
Some systems require unusual options for compilation or linking that |
|||
the `configure' script does not know about. You can give `configure' |
|||
initial values for variables by setting them in the environment. Using |
|||
a Bourne-compatible shell, you can do that on the command line like |
|||
this: |
|||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure |
|||
|
|||
Or on systems that have the `env' program, you can do it like this: |
|||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure |
|||
|
|||
Compiling For Multiple Architectures |
|||
==================================== |
|||
|
|||
You can compile the package for more than one kind of computer at the |
|||
same time, by placing the object files for each architecture in their |
|||
own directory. To do this, you must use a version of `make' that |
|||
supports the `VPATH' variable, such as GNU `make'. `cd' to the |
|||
directory where you want the object files and executables to go and run |
|||
the `configure' script. `configure' automatically checks for the |
|||
source code in the directory that `configure' is in and in `..'. |
|||
|
|||
If you have to use a `make' that does not supports the `VPATH' |
|||
variable, you have to compile the package for one architecture at a time |
|||
in the source code directory. After you have installed the package for |
|||
one architecture, use `make distclean' before reconfiguring for another |
|||
architecture. |
|||
|
|||
Installation Names |
|||
================== |
|||
|
|||
By default, `make install' will install the package's files in |
|||
`/usr/local/bin', `/usr/local/man', etc. You can specify an |
|||
installation prefix other than `/usr/local' by giving `configure' the |
|||
option `--prefix=PATH'. |
|||
|
|||
You can specify separate installation prefixes for |
|||
architecture-specific files and architecture-independent files. If you |
|||
give `configure' the option `--exec-prefix=PATH', the package will use |
|||
PATH as the prefix for installing programs and libraries. |
|||
Documentation and other data files will still use the regular prefix. |
|||
|
|||
In addition, if you use an unusual directory layout you can give |
|||
options like `--bindir=PATH' to specify different values for particular |
|||
kinds of files. Run `configure --help' for a list of the directories |
|||
you can set and what kinds of files go in them. |
|||
|
|||
If the package supports it, you can cause programs to be installed |
|||
with an extra prefix or suffix on their names by giving `configure' the |
|||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. |
|||
|
|||
Optional Features |
|||
================= |
|||
|
|||
Some packages pay attention to `--enable-FEATURE' options to |
|||
`configure', where FEATURE indicates an optional part of the package. |
|||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE |
|||
is something like `gnu-as' or `x' (for the X Window System). The |
|||
`README' should mention any `--enable-' and `--with-' options that the |
|||
package recognizes. |
|||
|
|||
For packages that use the X Window System, `configure' can usually |
|||
find the X include and library files automatically, but if it doesn't, |
|||
you can use the `configure' options `--x-includes=DIR' and |
|||
`--x-libraries=DIR' to specify their locations. |
|||
|
|||
Specifying the System Type |
|||
========================== |
|||
|
|||
There may be some features `configure' can not figure out |
|||
automatically, but needs to determine by the type of host the package |
|||
will run on. Usually `configure' can figure that out, but if it prints |
|||
a message saying it can not guess the host type, give it the |
|||
`--host=TYPE' option. TYPE can either be a short name for the system |
|||
type, such as `sun4', or a canonical name with three fields: |
|||
CPU-COMPANY-SYSTEM |
|||
|
|||
See the file `config.sub' for the possible values of each field. If |
|||
`config.sub' isn't included in this package, then this package doesn't |
|||
need to know the host type. |
|||
|
|||
If you are building compiler tools for cross-compiling, you can also |
|||
use the `--target=TYPE' option to select the type of system they will |
|||
produce code for and the `--build=TYPE' option to select the type of |
|||
system on which you are compiling the package. |
|||
|
|||
Sharing Defaults |
|||
================ |
|||
|
|||
If you want to set default values for `configure' scripts to share, |
|||
you can create a site shell script called `config.site' that gives |
|||
default values for variables like `CC', `cache_file', and `prefix'. |
|||
`configure' looks for `PREFIX/share/config.site' if it exists, then |
|||
`PREFIX/etc/config.site' if it exists. Or, you can set the |
|||
`CONFIG_SITE' environment variable to the location of the site script. |
|||
A warning: not all `configure' scripts look for a site script. |
|||
|
|||
Operation Controls |
|||
================== |
|||
|
|||
`configure' recognizes the following options to control how it |
|||
operates. |
|||
|
|||
`--cache-file=FILE' |
|||
Use and save the results of the tests in FILE instead of |
|||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for |
|||
debugging `configure'. |
|||
|
|||
`--help' |
|||
Print a summary of the options to `configure', and exit. |
|||
|
|||
`--quiet' |
|||
`--silent' |
|||
`-q' |
|||
Do not print messages saying which checks are being made. To |
|||
suppress all normal output, redirect it to `/dev/null' (any error |
|||
messages will still be shown). |
|||
|
|||
`--srcdir=DIR' |
|||
Look for the package's source code in directory DIR. Usually |
|||
`configure' can determine that directory automatically. |
|||
|
|||
`--version' |
|||
Print the version of Autoconf used to generate the `configure' |
|||
script, and exit. |
|||
|
|||
`configure' also accepts some other, not widely useful, options. |
@ -1,11 +0,0 @@ |
|||
## Process this file with automake to produce Makefile.in
|
|||
|
|||
ACLOCAL_AMFLAGS=-I m4 |
|||
|
|||
SUBDIRS = src doc include cmake_admin |
|||
EXTRA_DIST = TODO acinclude.m4 autogen.sh fluidsynth.pc.in \
|
|||
fluidsynth.spec.in fluidsynth.spec fluidsynth.anjuta README-OSX \
|
|||
README.cmake CMakeLists.txt |
|||
DISTCLEANFILES = fluidsynth.pc |
|||
pkgconfigdir = $(libdir)/pkgconfig |
|||
pkgconfig_DATA = fluidsynth.pc |
@ -1,80 +1,3 @@ |
|||
fluidsynth-1.1.2 on Mac OS X |
|||
----------------------------------------------------------------------- |
|||
|
|||
fluidsynth-1.1.2 can be installed in three ways on your Apple computer: |
|||
|
|||
A. Compilation and installation by hand using autotools |
|||
------------------------------------------------------- |
|||
Requirements: |
|||
- "XcodeTools.mpkg","DevSDK.pkg", "CoreAudioSDK.pkg" packages (The Leopard/Snow Leopard Install DVD) |
|||
|
|||
- Fink installation <http://fink.sourceforge.net> |
|||
|
|||
- libgnugetopt, readline5, libflac8-dev, libsndfile1-dev and glib2-dev from fink: e.g. "fink install libgnugetopt" |
|||
|
|||
- MIDI Patchbay 1.0.3 <http://www.apple.com/downloads/macosx/audio/index6.html> |
|||
|
|||
- Optional: JackOSX.0.85*.pkg.zip <http://www.jackosx.com> |
|||
|
|||
< |