diff --git a/src/pplib/.cproject b/src/pplib/.cproject
new file mode 100644
index 0000000..37111ba
--- /dev/null
+++ b/src/pplib/.cproject
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ make
+ -j6
+ install_debug
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pplib/.gitignore b/src/pplib/.gitignore
new file mode 100644
index 0000000..7699c3f
--- /dev/null
+++ b/src/pplib/.gitignore
@@ -0,0 +1,16 @@
+/debug/
+/release/
+/config.log
+/config.status
+/Makefile
+/ppl7-config
+/autom4te.cache
+/PPL7.config
+/PPL7.creator
+/PPL7.creator.user
+/PPL7.files
+/PPL7.includes
+/x64/
+/documentation/
+/.settings/
+.vscode/
diff --git a/src/pplib/.project b/src/pplib/.project
new file mode 100644
index 0000000..1fef60a
--- /dev/null
+++ b/src/pplib/.project
@@ -0,0 +1,93 @@
+
+
+ PPL7
+
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+ ?name?
+
+
+
+ org.eclipse.cdt.make.core.append_environment
+ true
+
+
+ org.eclipse.cdt.make.core.autoBuildTarget
+ install_debug
+
+
+ org.eclipse.cdt.make.core.buildArguments
+ -j1
+
+
+ org.eclipse.cdt.make.core.buildCommand
+ make
+
+
+ org.eclipse.cdt.make.core.buildLocation
+
+
+
+ org.eclipse.cdt.make.core.cleanBuildTarget
+ clean
+
+
+ org.eclipse.cdt.make.core.contents
+ org.eclipse.cdt.make.core.activeConfigSettings
+
+
+ org.eclipse.cdt.make.core.enableAutoBuild
+ true
+
+
+ org.eclipse.cdt.make.core.enableCleanBuild
+ true
+
+
+ org.eclipse.cdt.make.core.enableFullBuild
+ true
+
+
+ org.eclipse.cdt.make.core.environment
+
+
+
+ org.eclipse.cdt.make.core.fullBuildTarget
+ install_debug
+
+
+ org.eclipse.cdt.make.core.stopOnError
+ true
+
+
+ org.eclipse.cdt.make.core.useDefaultBuildCmd
+ true
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ org.eclipse.cdt.core.ccnature
+ org.eclipse.cdt.core.cnature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+ org.eclipse.wst.common.project.facet.core.nature
+
+
diff --git a/src/pplib/.settings/com.googlecode.cppcheclipse.core.prefs b/src/pplib/.settings/com.googlecode.cppcheclipse.core.prefs
new file mode 100644
index 0000000..7f2851a
--- /dev/null
+++ b/src/pplib/.settings/com.googlecode.cppcheclipse.core.prefs
@@ -0,0 +1,4 @@
+advancedArgument=-I include -j4 -isrc/core/Resourcen.cpp -UTODO -DHAVE_CONFIG_H -DPPL7LIB -UDEBUGLOG -UMINGW32 -U_M_ALPHA -U_M_IX86 --enable\=all --platform\=unix64
+eclipse.preferences.version=1
+problems=memsetZeroBytes\=true;1;\!redundantCondition\=true;1;\!nonreentrantFunctionsctermid\=true;0;\!nonreentrantFunctionstempnam\=true;0;\!sizeofsizeof\=true;1;\!nonreentrantFunctionsgetspnam\=true;0;\!unnecessaryForwardDeclaration\=true;1;\!deallocuse\=true;2;\!nonreentrantFunctionsgetpwent\=true;0;\!pointerSize\=true;1;\!IOWithoutPositioning\=true;2;\!uselessCallsRemove\=true;1;\!assignmentInAssert\=true;1;\!nonreentrantFunctionsgethostbyname2\=true;0;\!literalWithCharPtrCompare\=true;1;\!obsoleteFunctionsctime_r\=true;1;\!obsoleteFunctionsbzero\=true;1;\!obsoleteFunctionsrindex\=true;1;\!publicAllocationError\=true;1;\!unusedPrivateFunction\=true;1;\!nonreentrantFunctionsgetlogin\=true;0;\!redundantNextPrevious\=true;1;\!wrongmathcall\=true;2;\!uninitMemberVar\=true;1;\!memleak\=true;2;\!duplInheritedMember\=true;1;\!nonreentrantFunctionsgcvt\=true;0;\!obsoleteFunctionsswapcontext\=true;1;\!uselessCallsEmpty\=true;1;\!operatorEq\=true;1;\!operatorEqVarError\=true;1;\!variableHidingEnum\=true;1;\!nonreentrantFunctionsgetpwnam\=true;0;\!outOfBounds\=true;2;\!fflushOnInputStream\=true;2;\!variableScope\=true;1;\!obsoleteFunctionsgetwd\=true;1;\!nonreentrantFunctionsgethostent\=true;0;\!redundantCopyInSwitch\=true;1;\!functionStatic\=true;0;\!toomanyconfigs\=true;0;\!invalidFunctionArgBool\=true;2;\!nanInArithmeticExpression\=true;1;\!unusedAllocatedMemory\=true;1;\!obsoleteFunctionsgethostbyaddr\=true;1;\!constStatement\=true;1;\!CastAddressToIntegerAtReturn\=true;0;\!udivError\=true;2;\!zerodiv\=true;2;\!stlIfStrFind\=true;0;\!complexPatternError\=true;2;\!staticStringCompare\=true;1;\!incorrectLogicOperator\=true;1;\!redundantAssignment\=true;0;\!pointerOutOfBounds\=true;0;\!returnTempReference\=true;2;\!invalidPrintfArgType_sint\=true;1;\!obsoleteFunctionsutime\=true;1;\!cstyleCast\=true;1;\!comparisonOfBoolWithBoolError\=true;1;\!noConstructor\=true;1;\!invalidScanfArgType_int\=true;1;\!derefInvalidIterator\=true;1;\!nonreentrantFunctionsgethostbyname\=true;0;\!useAutoPointerArray\=true;2;\!initializerList\=true;1;\!sprintfOverlappingData\=true;2;\!returnReference\=true;2;\!obsoleteFunctionstmpnam\=true;1;\!checkCastIntToCharAndBack\=true;1;\!redundantCopyLocalConst\=true;0;\!catchExceptionByValue\=true;1;\!invalidPrintfArgType_float\=true;1;\!CastIntegerToAddressAtReturn\=true;0;\!sizeofwithsilentarraypointer\=true;2;\!boostForeachError\=true;2;\!unsafeClassCanLeak\=true;1;\!copyCtorPointerCopying\=true;1;\!obsoleteFunctionsecvt\=true;1;\!duplicateBreak\=true;1;\!assertWithSideEffect\=true;1;\!exceptDeallocThrow\=true;1;\!charArrayIndex\=true;1;\!possibleBufferAccessOutOfBounds\=true;1;\!useAutoPointerContainer\=true;2;\!terminateStrncpy\=true;1;\!wrongPrintfScanfParameterPositionError\=true;1;\!missingIncludeSystem\=true;0;\!noCopyConstructor\=true;1;\!mismatchingContainers\=true;2;\!unreadVariable\=true;1;\!useAutoPointerCopy\=true;1;\!nonreentrantFunctionsgetservbyname\=true;0;\!uninitdata\=true;2;\!invalidFunctionArg\=true;2;\!obsoleteFunctionsscalbln\=true;1;\!functionConst\=true;1;\!argumentSize\=true;1;\!operatorEqToSelf\=true;1;\!invalidPrintfArgType_uint\=true;1;\!unassignedVariable\=true;1;\!eraseDereference\=true;2;\!stlIfFind\=true;1;\!missingInclude\=true;0;\!unusedFunction\=true;1;\!invalidPointerCast\=true;1;\!uselessCallsSwap\=true;0;\!iterators\=true;2;\!returnAddressOfAutoVariable\=true;2;\!wrongPrintfScanfArgNum\=true;2;\!invalidScanfArgType_s\=true;1;\!nonreentrantFunctionscrypt\=true;0;\!autovarInvalidDeallocation\=true;2;\!obsoleteFunctionsrand_r\=true;1;\!nonreentrantFunctionsgetservbyport\=true;0;\!wrongPipeParameterSize\=true;2;\!arithOperationsOnVoidPointer\=true;0;\!nonreentrantFunctionsfcvt\=true;0;\!obsoleteFunctionsgetcontext\=true;1;\!unsignedLessThanZero\=true;1;\!nonreentrantFunctionsgetspent\=true;0;\!comparisonError\=true;1;\!unusedVariable\=true;1;\!preprocessorErrorDirective\=true;2;\!bufferNotZeroTerminated\=true;1;\!operatorEqRetRefThis\=true;1;\!useClosedFile\=true;2;\!postfixOperator\=true;0;\!arrayIndexThenCheck\=true;1;\!duplicateBranch\=true;1;\!stlcstr\=true;2;\!mismatchSize\=true;2;\!obsoleteFunctionsbcmp\=true;1;\!stlOutOfBounds\=true;2;\!obsoleteFunctionsftime\=true;1;\!obsoleteFunctionstmpnam_r\=true;1;\!comparisonOfBoolWithInt\=true;1;\!AssignmentIntegerToAddress\=true;0;\!returnAddressOfFunctionParameter\=true;2;\!divideSizeof\=true;1;\!uninitstring\=true;2;\!mallocOnClassWarning\=true;1;\!syntaxError\=true;2;\!comparisonOfTwoFuncsReturningBoolError\=true;1;\!commaSeparatedReturn\=true;1;\!nonreentrantFunctionsttyname\=true;0;\!duplicateExpression\=true;1;\!shiftNegative\=true;2;\!stlcstrParam\=true;0;\!obsoleteFunctionsvfork\=true;1;\!suspiciousCase\=true;1;\!stlcstrReturn\=true;0;\!clarifyStatement\=true;1;\!uselessCallsSubstr\=true;0;\!obsoleteFunctionswcswcs\=true;1;\!uselessCallsCompare\=true;1;\!nonreentrantFunctionsgmtime\=true;0;\!mallocOnClassError\=true;2;\!obsoleteFunctionsmakecontext\=true;1;\!redundantCopy\=true;0;\!invalidScanfArgType_float\=true;1;\!nonreentrantFunctionsgetgrent\=true;0;\!leakReturnValNotUsed\=true;2;\!sizeofVoid\=true;0;\!exceptRethrowCopy\=true;1;\!compareBoolExpressionWithInt\=true;1;\!incrementboolean\=true;1;\!simplePatternError\=true;1;\!nonreentrantFunctionsgetprotobyname\=true;0;\!returnLocalVariable\=true;2;\!writeReadOnlyFile\=true;2;\!nonreentrantFunctionsstrtok\=true;0;\!pointerLessThanZero\=true;1;\!nonreentrantFunctionsgetnetbyname\=true;0;\!unsignedPositive\=true;1;\!virtualDestructor\=true;2;\!obsoleteFunctionsbsd_signal\=true;1;\!memsetClass\=true;2;\!ConfigurationNotChecked\=true;0;\!uninitStructMember\=true;2;\!duplicateIf\=true;1;\!obsoleteFunctionsbcopy\=true;1;\!useInitializationList\=true;0;\!thisSubtraction\=true;1;\!unknownPattern\=true;2;\!sizeofwithnumericparameter\=true;1;\!suspiciousEqualityComparison\=true;1;\!possibleReadlinkBufferOverrun\=true;1;\!exceptThrowInDestructor\=true;2;\!insecureCmdLineArgs\=true;2;\!nonreentrantFunctionsgetgrnam\=true;0;\!zerodivcond\=true;1;\!selfAssignment\=true;1;\!mismatchingBitAnd\=true;1;\!autoVariables\=true;2;\!arrayIndexOutOfBounds\=true;2;\!redundantAssignInSwitch\=true;1;\!nonreentrantFunctionsgetpwuid\=true;0;\!nonreentrantFunctionsecvt\=true;0;\!sizeofCalculation\=true;1;\!nonreentrantFunctionsreaddir\=true;0;\!invalidPointer\=true;2;\!comparisonFunctionIsAlwaysTrueOrFalse\=true;1;\!sizeofDereferencedVoidPointer\=true;0;\!obsoleteFunctionsfcvt\=true;1;\!obsoleteFunctionspthread_attr_setstackaddr\=true;1;\!oppositeInnerCondition\=true;1;\!deallocret\=true;2;\!unusedScopedObject\=true;2;\!strPlusChar\=true;2;\!AssignmentAddressToInteger\=true;0;\!uninitvar\=true;2;\!memleakOnRealloc\=true;2;\!nonreentrantFunctionsgetrpcbyname\=true;0;\!readWriteOnlyFile\=true;2;\!incorrectStringBooleanError\=true;1;\!resourceLeak\=true;2;\!deallocDealloc\=true;2;\!invalidscanf\=true;1;\!charBitOp\=true;1;\!unusedStructMember\=true;1;\!nonreentrantFunctionsfgetpwent\=true;0;\!suspiciousSemicolon\=true;1;\!nonreentrantFunctionsgetrpcent\=true;0;\!invalidPrintfArgType_int\=true;1;\!writeOutsideBufferSize\=true;2;\!pointerArithBool\=true;2;\!nonreentrantFunctionsgetrpcbynumber\=true;0;\!stringCompare\=true;1;\!switchCaseFallThrough\=true;1;\!obsoleteFunctionsusleep\=true;1;\!stlBoundaries\=true;2;\!variableHidingTypedef\=true;1;\!coutCerrMisusage\=true;2;\!StlMissingComparison\=true;1;\!invalidIterator1\=true;2;\!unreachableCode\=true;1;\!invalidIterator2\=true;2;\!nonreentrantFunctionsfgetspent\=true;0;\!obsoleteFunctionsasctime_r\=true;1;\!obsoleteFunctionspthread_attr_getstackaddr\=true;1;\!assignIfError\=true;1;\!incorrectStringCompare\=true;1;\!comparisonOfFuncReturningBoolError\=true;1;\!stlSize\=true;0;\!doubleFree\=true;2;\!multiplySizeof\=true;1;\!nullPointer\=true;2;\!nonreentrantFunctionsfgetgrent\=true;0;\!redundantIfRemove\=true;1;\!obsoleteFunctionsgethostbyname\=true;1;\!nonreentrantFunctionslocaltime\=true;0;\!moduloAlwaysTrueFalse\=true;1;\!nonreentrantFunctionsgetservent\=true;0;\!obsoleteFunctionsualarm\=true;1;\!nonreentrantFunctionsgetnetgrent\=true;0;\!varFuncNullUB\=true;0;\!obsoleteFunctionsgcvt\=true;1;\!negativeIndex\=true;2;\!incompleteArrayFill\=true;1;\!obsoleteFunctionsindex\=true;1;\!leakNoVarFunctionCall\=true;2;\!nonreentrantFunctionsgethostbyaddr\=true;0;\!missingPercentCharacter\=true;2;\!bitwiseOnBoolean\=true;1;\!passedByValue\=true;0;\!nonreentrantFunctionsgetnetbyaddr\=true;0;\!cppcheckError\=true;2;\!bufferAccessOutOfBounds\=true;2;\!invalidPrintfArgType_s\=true;1;\!clarifyCalculation\=true;1;\!invalidPrintfArgType_p\=true;1;\!pointerPositive\=true;1;\!uselessAssignmentPtrArg\=true;1;\!clarifyCondition\=true;1;\!assignBoolToPointer\=true;2;\!mismatchAllocDealloc\=true;2;\!invalidPrintfArgType_n\=true;1;\!multiCondition\=true;1;\!unnecessaryQualification\=true;0;\!nonreentrantFunctionsgetgrgid\=true;0;\!
+suppressions=rO0ABXNyAAxqYXZhLmlvLkZpbGUELaRFDg3k/wMAAUwABHBhdGh0ABJMamF2YS9sYW5nL1N0cmluZzt4cHQAFHNyYy9jb3JlL0FWTFRyZWUuY3BwdwIAL3g\=;unusedFunction;2147483647\!rO0ABXNyAAxqYXZhLmlvLkZpbGUELaRFDg3k/wMAAUwABHBhdGh0ABJMamF2YS9sYW5nL1N0cmluZzt4cHQAEXNyYy9jb3JlL0ZpbGUuY3BwdwIAL3g\=;IOWithoutPositioning;1388\!rO0ABXNyAAxqYXZhLmlvLkZpbGUELaRFDg3k/wMAAUwABHBhdGh0ABJMamF2YS9sYW5nL1N0cmluZzt4cHQAFHNyYy9ncmFmaXgvSW1hZ2UuY3BwdwIAL3g\=;memsetZeroBytes;305\!
diff --git a/src/pplib/.settings/language.settings.xml b/src/pplib/.settings/language.settings.xml
new file mode 100644
index 0000000..e91abd3
--- /dev/null
+++ b/src/pplib/.settings/language.settings.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pplib/.settings/org.eclipse.cdt.codan.core.prefs b/src/pplib/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 0000000..b15c484
--- /dev/null
+++ b/src/pplib/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,73 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn=Warning
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue=Error
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"}
+org.eclipse.cdt.codan.checkers.nocommentinside=-Error
+org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"}
+org.eclipse.cdt.codan.checkers.nolinecomment=-Error
+org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"}
+org.eclipse.cdt.codan.checkers.noreturn=Error
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"}
+org.eclipse.cdt.qt.core.qtproblem=Warning
+org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>null}
diff --git a/src/pplib/.settings/org.eclipse.core.resources.prefs b/src/pplib/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..bf97e40
--- /dev/null
+++ b/src/pplib/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//src/core/File.cpp=UTF-8
+encoding/=UTF-8
diff --git a/src/pplib/.settings/org.eclipse.ltk.core.refactoring.prefs b/src/pplib/.settings/org.eclipse.ltk.core.refactoring.prefs
new file mode 100644
index 0000000..721e997
--- /dev/null
+++ b/src/pplib/.settings/org.eclipse.ltk.core.refactoring.prefs
@@ -0,0 +1,3 @@
+#Sat Nov 03 10:37:37 CET 2012
+eclipse.preferences.version=1
+org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/src/pplib/Doxyfile b/src/pplib/Doxyfile
new file mode 100644
index 0000000..d4a1520
--- /dev/null
+++ b/src/pplib/Doxyfile
@@ -0,0 +1,2507 @@
+# Doxyfile 1.8.14
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See
+# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME = PPLib
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER = 7.0.0
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = documentation
+
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE = German
+
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF = NO
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF = "The $name class " \
+ "The $name widget " \
+ "The $name file " \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB = YES
+
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH = /home/patrickf/cvs-priv/ppl/ppl7 \
+ /home/patrick/cvs/ppl/ppl7
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines (in the resulting output). You can put ^^ in the value part of an
+# alias to insert a newline as if a physical newline was in the original file.
+
+ALIASES = "header=\par Include: \n " \
+ "desc=\par Beschreibung: " \
+ "example=\par Beispiel: " \
+ "descr=\par Beschreibung: "
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT = YES
+
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 0.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS = 0
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT = YES
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES = NO
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS = YES
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = YES
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME = YES
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if ... \endif and \cond
+# ... \endcond blocks.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES = NO
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE = docs/DoxygenLayout.xml
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC = NO
+
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered.
+# The default value is: NO.
+
+WARN_AS_ERROR = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
+
+INPUT = docs/ \
+ src/ \
+ include/ \
+ HISTORY.TXT
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
+# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
+
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.py \
+ *.C \
+ *.CC \
+ *.C++ \
+ *.II \
+ *.I++ \
+ *.H \
+ *.HH \
+ *.H++ \
+ *.CS \
+ *.PHP \
+ *.PHP3 \
+ *.M \
+ *.MM \
+ *.PY \
+ HISTORY.TXT \
+ *.TXT \
+ *.txt
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE = include/grafix.h
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH = docs/ \
+ ./ \
+ docs/examples/
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH = resource/ \
+ docs
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+#
+#
+# where is the value of the INPUT_FILTER tag, and is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = NO
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see https://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER = docs/header.html
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET = docs/ppl7style.css
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP = NO
+
+# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
+# documentation will contain a main index with vertical navigation menus that
+# are dynamically created via Javascript. If disabled, the navigation index will
+# consists of multiple levels of tabs that are statically embedded in every HTML
+# page. Disable this option to support browsers that do not have Javascript,
+# like the Qt help browser.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_MENUS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: https://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See https://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND = YES
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://doc.qt.io/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://doc.qt.io/qt-4.8/qthelpproject.html#virtual-folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://doc.qt.io/qt-4.8/qthelpproject.html#custom-filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://doc.qt.io/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP = YES
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID = de.pfp.ppl7
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW = YES
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH = 250
+
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# https://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from https://www.mathjax.org before deployment.
+# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use + S
+# (what the is depends on the OS and browser, but it is typically
+# , /, or both). Inside the search box use the to jump into the search results window, the results can be navigated
+# using the . Press to select an item or to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing +. Also here use the
+# to select a filter and or to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH = YES
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: https://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: https://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES = YES
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE = plain
+
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE =
+
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
+# the structure of the code including all documentation. Note that this feature
+# is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED = HAVE_JPEG=1 \
+ HAVE_PCRE=1 \
+ HAVE_LAME=1 \
+ HAVE_SDL=1 \
+ HAVE_DX9=1 \
+ HAVE_ICONV=1 \
+ HAVE_LIBZ=1 \
+ HAVE_BZIP2=1 \
+ HAVE_LIBCURL=1 \
+ HAVE_LIBMAD=1 \
+ HAVE_FREETYPE2=1 \
+ HAVE_MYSQL=1 \
+ HAVE_PNG=1 \
+ HAVE_SYBASE=1 \
+ HAVE_LIBMCRYPT=1 \
+ HAVE_OPENDIR=1
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE = documentation/ppl7.tagfile
+
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
+# The default value is: NO.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS = NO
+
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
+
+HAVE_DOT = NO
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH = NO
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH =
+
+# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
+# configuration file for plantuml.
+
+PLANTUML_CFG_FILE =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP = YES
diff --git a/src/pplib/HISTORY.TXT b/src/pplib/HISTORY.TXT
new file mode 100644
index 0000000..1a8305f
--- /dev/null
+++ b/src/pplib/HISTORY.TXT
@@ -0,0 +1,1675 @@
+/*!\page PPL7History PPL7 History
+PPL7 - HISTORY
+
+Version 7.0.1
+ - Fixed overflow exception in ID3Tag::copyAiffToNewFile
+ - Fixed overflow exception in IdentAIFF
+ - Added method TCPSocket::isBlocking
+ - Bugfix in TCPSocket::sslStart: a call to this function does
+ not change blocking mode to non-blocking anymore. It keeps
+ the previous mode.
+ - random.cpp: removed deprecated keyword "register" (C++17)
+ - AssocArray::getPrevious returns "false" as expected and does not throw
+ OutOfBoundException anymore, when end of AssocArray is reached
+ - Increased test coverage for AssocArray
+ - Added compare operator to Variant
+ - Added more operators for AssocArray
+ - fixed "-no-pie" compiler warnings
+ - Reverse iteration over AssocArray now requires a ReverseIterator
+ - refactored AssocArray to use std::map instead of own AVLTreeAlgorithm.
+ As a side effect, this change had a huge performance improvement on
+ setting, getting and deleting values. The unittest addAndDeleteWordlist
+ now takes 794ms instead of 1432ms on my workstation.
+ - SSLContext: dropped support for deprecated SSL and TLS versions.
+ Only the methods "TLS", "TLSclient" and "TLSserver" are supported.
+ The actual protocol version used will be negotiated to the highest
+ version mutually supported by the client and the server.
+ - SSLContext: added fallback to SSLv23_method when TLS_method is
+ not available
+ - Digest: removed ECDSA from available hash algorithms
+ - Bugfix in MemFile::seek
+ - Added JSON-Parser and -Writer
+ - String: added method useadr
+ - removed MHash class and dependencies on mhash library.
+ Please use the Digest-Class as replacement.
+ - added ID3Tag::PictureType
+ - fixed bug in Drawable::blendPixel
+ - added compare operators to class grafix::Point
+ - migrated PythonHelper from ppl6 and added unit tests for Perl- and
+ PythonHelper. Fixed escaping of backslash.
+ - Fixed ID of datatype DateTime
+ - Removed old AssocArray code
+ - AssocArray: added export and import of WideString
+ - AssocArray: added export and import of Array
+ - Array operators == and != are now defined as const
+ - changed behaviour of String::isNumeric
+ - WikiParser: various methods do not get a return value anymore
+ - SocketMessage: defined some functions as const
+ - WikiParser: fixed some OutOfBoundsExceptions
+ - AssocArray: added comfort getter-functions, which return a
+ default value instead of throwing an exception, when key is
+ not found or of different data type.
+ - AssocArray: getArray now returns an Array instead of AssocArray!
+ Use new method getAssocArray, if you want an AssocArray!
+ - use libidn2 instead of libidn if available
+ - AssocArray: TypeConversionExceptions in getter-Methods with more
+ details
+
+
+Version 7.0.0 vom 29.07.2018 (Repo-Tag: REL_7_0_0)
+ - Complete Rewrite, based on Version 6.4.7
+ - Unittests with Google Test framework
+
+Version 6.4.21
+ - IdentAudioFile unterstützt nun Wave-Dateien
+ - CTCPSocket::SSL_Stop: Return-Wert von SSL_shutdown wird jetzt
+ korrekt interpretiert. Es wird kein shutdown mehr auf den Socket
+ gemacht, da dies bei einer Abgebrochenden Verbindung zu einer
+ Blockade führen kann.
+ - CCurl: Neue Methode "getCurlHandle" liefert das interne Handle
+ der libcurl zurück
+ - CSSL: Unterstützung für TLS 1.1, TLS 1.2 und DTLS 1, sowie
+ der Komfortmethode "TLS", die alle TLS-Versionen unterstützt,
+ aber kein SSLv2 oder SSLv3.
+ - Memory-Leak in MkDate behoben
+ - Memory-Leak in CDateTime::get behoben
+ - Memory-Leak in FileExists behoben
+ - Bugfix im configure: SQLITE_LIBS und SQLITE_CFLAGS werden nur gesetzt,
+ wenn sqlite auch gefunden wurde
+ - NASM-Erkennung unter MSYS 2.0 i686 gefixt
+ - Fixed: Deadlock in CThreadPool::Stop behoben
+ - LPSTR wird nicht mehr verwendet
+
+Version 6.4.20 vom 13.07.2014 (SVN-Tag: REL_6_4_20)
+ - Funktion GetGlobalEncoding hinzugefügt
+ - CID3Tag beachtet nun die globale Einstellung für die Kodierung
+ der Strings
+ - CID3Tag speichert Text-Tags nun grundsätzlich in UTF-16LE
+ - Neue Funktionen: XmlEscape und XMLUnEscape
+ - Neue Klasse: PythonHelper
+ - Address-Parameter der HexDump-Funktionen ist nun als "const void *"
+ deklariert
+ - CID3Tag: Fehler beim Schreiben von Tags in AIFF-Files behoben
+ - Überflüssige .svn-Ordner aus der Distribution entfernt
+ - Unterstützung von AudioCD-s und CDDB mittels der neuen Klassen
+ AudioCD und CDDB
+ - Configure-Erkennung für nasm, png und jpeg verbessert
+
+Version 6.4.19 vom 16.02.2014 (SVN-Tag: REL_6_4_19)
+ - CBinary hat Malloc- und Calloc-Funktion bekommen,
+ Save wurde umbenannt in Savef, Load in Loadf. Neue Save- und Load-
+ funktionen, die "const CString &" als einzigen Parameter erwarten
+ - CID3Tag kann ID3-Tags aus AIFF-Dateien lesen und schreiben
+ - UnitTests für CID3Tag-Funktionen erstellt
+ - MemoryHeap-Klasse sammt Unit-Tests aus PPL7 importiert
+ - Algorithmus "List" sammt Unit-Tests aus PPL7 importiert
+ - CDir wurde refakturiert: "Get" Funktionen geben jetzt
+ "const CDirEntry*" statt "CDirEntry*" zurück, Sortierfunktionen
+ aus PPL7 importiert, als Sortieralgorithmus wird nun std::multimap
+ statt der eigenen AVL-Methoden verwendet. Dies fixt ein Problem
+ bei der Sortierung, wenn identische Schlüssel mehrfach auftauchen
+ (z.B. gleiche Timestamps oder Dateigrößen). Zusätzlich kann nun
+ auch nach ATime, CTime, MTime und Dateigröße sortiert werden.
+ - CDirEntry: "Is..."-Funktionen sind nun als "const" deklariert
+ - Valgrind: Mismatched free() / delete / delete [] in
+ ppl6::CID3Tag::RemovePicture gefixt
+ - CID3Frame Destruktor verändert die Framekette nicht mehr, dafür ist
+ allein CID3Tag zuständig
+ - CID3Tag: Fehler in der Berechnung der Framegröße bei Textframes
+ mit ISO-8859-1 oder UTF-8 Kodierung behoben. (Valgrind Fehler: Invalid
+ read/write of size 1)
+ - IdentAudioFile: Neue Funktion zum Ermitteln des Audioformats einer
+ Datei, sowie deren Kennzahlen, wie Frequenz, Kanäle, Samples, und Länge.
+ Die Daten werden im ebenfalls neuen Objekt "AudioInfo" abgelegt.
+ Die Funktion soll IdentMPEG ablösen und neben MP3 auch andere Formate
+ unterstützen. Gegenwärtig wird MP3 und AIFF unterstützt.
+ - CFile::RenameFile löscht unter Windows die Zieldatei vor dem Rename.
+ Die C-Funktion "rename" bzw. "_wrename" verhält sich unter Windows
+ anders als unter Unix.
+ - CFile::Exists verwendet nun "stat" bzw. unter Windows "_wstat" um
+ ein konsistentes Verhalten zu bekommen. Bisher wurde versucht die
+ Datei zu öffnen, was unter Unix auch auf Verzeichnisse funktioniert,
+ unter Windows aber nicht.
+ - Win32: Problem mit CFile::mmap behoben
+ - CID3Tag: Bugfix beim Update eines vorhandenen Tags unter Windows
+
+Version 6.4.18 vom 04.02.2014 (SVN-Tag: REL_6_4_18)
+ - CID3Tag: Neue Funktion zum Auslesen von PRIV-Frames (PrivateData)
+ - CID3Tag unterstützt TXXX-Tag mit EnergyLevel
+ - CID3Tag liefert Anzahl Frames zurück mit CID3Tag::FrameCount()
+ - Webserver: Funktionen queueResponse und queueBasicAuthFailedResponse haben
+ keinen Rückgabewert mehr und werfen eine Exception im Fehlerfall
+ - Webserver: Fehlerbehandlung in answer_to_connection implementiert
+ - CConfig: Spaces am Anfang und Ende von Werten werden nicht mehr abge-
+ schnitten
+ - Bugfix: Die LTrim-Funktionen der beiden String-Klassen CString und
+ CWString haben beim Verschieben des Strings ein Byte über das Ende des
+ internen Buffers hinausgelesen.
+ - CTCPSocket::Read: Fehlercode EINTR wird wie EAGAIN behandelt und
+ ignoriert, bzw. ein Retry initiiert
+ - Funktion IdentMPEG kann besser mit fehlerhaften MP3-dateien umgehen
+ - CFile::CopyFile funktioniert nun. Bisher wurde das neue File nicht
+ angelegt und das alte gelöscht :-( => Unittests angelegt
+ - Statische Funktionen von CFile refakturiert: statt "const char*"
+ wird nun "const CString &" erwartet, ausser dort, wo ein Formatstring
+ übergeben wird. Funktionen mit Formatstring haben ein "f" am Ende des
+ Funktionsnamens erhalten
+ - File-Funktionen unter Windows: Es werden jetzt Non-US-ASCII-Zeichen
+ im Dateinamen unterstützt.
+ - CFile::Truncate wird nun auch unter Windows unterstützt
+ - Bugfix: Absturz unter Windows durch unbehandelte Exception im Destruktor
+ der CLog-Klasse behoben. Seit Version 6.4.15 wird Syslog unter Unix
+ unterstützt. Der Destruktor hat die Funktion zum Schließen von Syslog
+ aber auch unter Windows aufgerufen und die dabei entstehende Exception
+ nicht abgefangen.
+ - Funktion CString MD5(const void *data, size_t size) implementiert
+ - Unittests für statische Funktionen aus CFile implementiert
+ - CID3Tag::GetGenre liefert einen bereits geparsten String zurück, der den
+ Namen des Genres enthält. Bisher wurde der Inhalt des Tags TCON ungefiltert
+ zurückgegeben
+ - CFile::Popen(const char *command, const char *mode, ...) umbenannt in
+ Popenf
+ - OpenTemp akzeptiert nurnoch einen Parameter vom Typ CString, die bisherige
+ Funktion mit Formatstring und variabler Anzahl Parameter heisst jetzt
+ OpenTempf
+ - CFile::Size führt zunächst ein fflush aus, damit möglicherweise noch im
+ Puffer befindliche Daten geschrieben werden.
+ - CFileObject::SetFilename(const char *filename, ...) umbenannt in
+ SetFilenamef
+ - CFile::Seek, Fseek, Ftell, Size und Lof haben keine Funktion mehr,
+ bzw. geben 0 zurück, wenn die geöffnete Datei eine Pipe ist.
+ - Diverse Compiler-Warnings mit gcc 4.6.x gefixt
+ - CDir: Bugfix im Konstruktor behebt möglichen Absturz durch nicht
+ rechtzeitig initialisierte Variable.
+ - Unittests für CDir implementiert
+
+Version 6.4.17 vom 03.11.2013 (SVN-Tag: REL_6_4_17)
+ - Cppl6Core ist nicht mehr von CDebug/CLog abgeleitet
+ - CArray::Explode: Performance wurde drastisch verbessert
+ - CArray: Neue Funktion "Reserve", zum Vorallokieren von Speicher
+ - CArray: Neuer Konstruktor mit Explode-Funktion
+ - Bugfix in CAssocArray::CreateFromConfig: Bei Angabe von "dotrim=false"
+ wurde am Ende doch getrimmt
+ - Testsuite um Tests für CAssocArray-Klasse ergänzt (Backport von PPL7)
+ - Bugfix: CleanupThreadData hat zwar das Datenobjekt gelöscht, nicht aber
+ den Pointer darauf innerhalb der posix threads
+ - PPLExit ruft nun CleanupThreadData auf
+ - CleanupThreadData ist nun auch für Windows implementiert
+ - Makefile: pplgenresource verwendet nun das lokale config-ppl6-Skript
+ und die lokale Bibliothek
+ - configure: libshout kann jetzt mit --without-libshout abgeschaltet
+ werden
+ - ppl6-unixconfig.h enthält nurnoch die Typdefinitionen, aber nicht mehr die
+ ganzen HAVE_xzy Direktiven
+ - Datentyp "mode_t" wird in ppl.h nicht mehr verwendet
+ - CTCPSocket::Bind: Hostname und Port werden nun gespeichert und können mit
+ den neuen Funktionen "getHostname" und "getPort" abgefragt werden.
+ - Webserver::start: Exception "CouldNotStartDaemon" hat jetzt zusätzliche
+ Informationen über den aufgetretenen Fehler
+ - Webserver: Neue Funktionen: getHostname, getPort
+ - configure: Erkennung für libmicrohttpd verbessert
+ - configure: Erkennung für curl-config verbessert
+ - ppl6-config: Option "--features" unterstützt nun optionale Angabe der
+ gewünschten Features. Ist ein Feature nicht eingebunden, wird eine
+ ERROR-Meldung ausgegeben und der Returncode ist ungleich 0
+ - Bugfix in MySQL::Query: Ein Fehlerfall beim Speichern des Query-Results
+ wurde zwar festgestellt, aber kein passender Fehlercode gesetzt.
+ - Freetype-Font-Rendering verbessert, das Hinting funktioniert jetzt besser
+ (Code aus ppl7 übernommen)
+ - Makefile sollte nun abbrechen, wenn beim "make install" ein Fehler auftritt
+ - Statische Funktionen in CFile umbenannt und erweitert: Exists, TouchFile,
+ DeleteFile und FileAttr akzeptieren nurnoch einen Parameter mit dem Datei-
+ namen und keinen Formatstring mehr (zu fehleranfällig). Die neuen
+ Funktionen Existsf, TouchFilef, DeleteFilef und FileAttrf übernehmen die
+ alte Funktionalität und erwarten einen Formatstring.
+ - Bugfix: fehlendes Semikolon in EscapeHTMLTags und UnescapeHTMLTags beim
+ Tag "&" ergänzt
+ - Bugfix: "Conditional jump or move depends on uninitialised value" in
+ MkTime behoben.
+ - Bugfix: Race Condition in CAssocArray::Copy behoben
+ - CMutex wirft jetzt eine Exception im Konstruktor, wenn kein Speicher für die
+ internen Variablen allokiert werden konnte. Daher konnten in den Member-
+ Functions einige Prüfungen wegoptimiert werden.
+ - Fehler bei der Initialisierung von MySQL behoben. Neue statische Funktion
+ zum Initialisieren der MySQL-Bibliothek.
+ - mögliche Race Condition Pool::CheckPool behoben
+ - bzero durch memset ersetzt, da bzero in POSIX.1-2008 entfernt wurde
+ - CID3Tag unterstützt TKEY
+ - CID3Tag::SetTextFrame unterstützt optionalen dritten Parameter zur Angabe
+ des gewünschten Encodings
+
+Version 6.4.16 vom 19.05.2013 (SVN-Tag: REL_6_4_16)
+ - Bugfix: Fehlende "IFDEF"'s zur Prüfung der Syslog-Unterstützung in CLog
+ ergänzt (behebt Compiler-Fehler unter MinGW)
+ - Bugfix: "Invalid read of size 1" in ppl6::CLog::Printf behoben
+ - Bugfix: Memory-Leak in CSSL::~CSSL() gefixt
+ - Bugfix: Diverse Memory-Leaks in CWString::Setf und CWString::Sprintf
+ behoben
+ - Neue Funktion: CleanupThreadData. Diese muss aufgerufen werden, bevor
+ ein Thread, der nicht mittles der PPL-Funktionen gestartet wurde,
+ beendet wird.
+ - Bugfix: Memory-Leak in der Restschnittstelle behoben
+ - Bugfix: Memory-Leak im Zusammenhang mit MySQL gefixt
+ - Überflüssige Variablen in Trim-Funktionen der Klasse CWString entfernt
+ - Bugfix: Fehler in CString::RTrim behoben, durch den zu wenig Zeichen am
+ Ende des Strings abgeschnitten wurden (Backport von PPL7)
+ - Bugfix: Fehler in CWString::RTrim behoben, durch den zu wenig Zeichen am
+ Ende des Strings abgeschnitten wurden (Backport von PPL7)
+ - Bugfix: Memory Leak und "silly malloc" in CString::PregMatch und
+ CWString::PregMatch behoben
+ - Testsuite um Tests für CString-Klasse ergänzt (Backport von PPL7)
+ - Testsuite um Tests für CWString-Klasse ergänzt (Backport von PPL7)
+ - CWString hat Konstruktor für std::wstring bekommen und Operator für
+ std::ostream
+ - Bugfix in CString::IsNumeric und CWString::IsNumeric
+ - CWString: Vergleichsoperatoren für CWString und einige weitere Operatoren
+ und Funktionen sind jetzt als "const" deklariert
+ - Bugfix in CWString::Chomp: Es konnten zu viele Zeichen abgeschnitten werden
+ - CWString::Concat führte zu "Conditional jump or move depends on
+ uninitialised value"
+ - Bugfix in CWString::Delete: Falscher Returnwert wurde zurückgegeben, wenn
+ Zeichen am Ende des Strings abgeschnitten wurden.
+ - Bugfix in CString::Shr und CWString::Shr: Zeichen am Ende des Strings
+ wurden nicht abgeschnitten, String konnte länger werden, als der Original-
+ string
+ - CWString: Operator bool() entfernt, da dieser nicht funktioniert
+ - CString: Zusätzliche Set- und SetChar-Funktionen
+ - CString: Funktionen IsTrue und IsFalse eingeführt
+
+ Achtung: Mögliches Kompatibilitätsproblem:
+ - Änderung in CWString::Set: Bei Verwendung eines char *, std::string oder
+ CString als Input, wird der optionale zweite Parameter nicht mehr als
+ Bytes, sondern als Zeichen interpretiert! Dieses Verhalten war bereits
+ so, wenn keine Iconv-Library installiert war, und somit ein Fallback auf
+ die Funktion mbstowcs erfolgte.
+
+Version 6.4.15 vom 30.04.2013 (SVN-Tag: REL_6_4_15)
+ - CLog-Klasse unterstützt nun Syslog
+
+Version 6.4.14 vom 21.03.2013 (CVS-Tag: REL_6_4_14)
+ - Bugfix beim Einlesen von ID3-Tag-Covern mit UTF-16-Encoding
+ - Bugfix: Potentieller Memory-Leak in CTCPSocket::WaitForMessage gefixt
+ - Bugfix: Fehler im Aufbau der verketteten Liste der Klasse CSSL behoben
+ - Change: CSSL verwendet malloc und free statt CHeap
+ - Bugfix: CTCPSocket: Beim Disconnect oder Shutdown wurde kein SSL_Stop
+ aufgerufen. Dadurch konnte der SSL-Stack durcheinander kommen.
+
+Version 6.4.13 vom 27.07.2012 (CVS-Tag: REL_6_4_13)
+ - Kleinere Kompatibilitätsprobleme unter Windows behoben
+ - Fehler in Postgres-DB-Anbindung behoben, wodurch mit FetchArray
+ oder FetchFields mehr Zeilen gelesen wurden, als im
+ Result vorhanden war
+ - DB-Connect mit Postgres-Datenbank unterstützt jetzt Parameter
+ "searchpath" zum Setzen des Suchpfades.
+ - CString unterstützt Ausgabe als Stream
+ - Erkennung der FreeTDS-Library für Sybase erneuert
+ - CDateTime Genauigkeit auf Mikrosekunden erhöht
+ - Format des Integer-Wertes von CDateTime::longInt hat sich geändert
+ und ist inkompatibel zu vorher.
+ - Testsuite mit Unittests für CDateTime erstellt (Verwendung von
+ Google-Test)
+ - Bugfix in CString::PregReplace
+
+Version 6.4.12 vom 04.04.2012 (CVS-Tag: REL_6_4_12)
+ - Datenbank: Strings werden nun in Hochkommata statt Anführungszeichen
+ gesetzt
+ - Datenbank: Datentypen werden in Abhängigkeit ihres Types und der
+ Datenbank escaped und gequoted. Neue Funktion Database::getQuoted
+ - Datenbank: Mutexe aus den Datenbanken entfernt. Die Anwendung ist
+ dafür verantwortlich parallelen Zugriff zu verhindern.
+ - Backport von PPL7: CDir::homePath und CDir::tempPath
+ - Funktion ppl6::db::GetSupportedDatabases hinzugefügt
+ - Unterstützung für Datenbank SQLite3 (experimentell)
+
+Version 6.4.11 vom 19.02.2012 (CVS-Tag: REL_6_4_11)
+ - Bugfix in PNG-Laderoutine
+ - Kritischer Bugfix in Sybase::Ping: Result wurde nicht freigegeben, wodurch
+ nachfolgende Operationen blockiert und die Verbindung somit
+ unbrauchbar wurde
+ - Neue Klasse: PerlHelper
+ - CDateTime verarbeitet nun auch "null" oder das Datum "0000-00-00".
+ Beides wird als "0" interpretiert.
+ - CDateTime hat neue Funktionen zum Abfragen der Kalenderwoche:
+ week() und weekISO8601()
+ - Neue Funktion CString::setInitialBuffersize
+ - Fehlende Funktion CString::Capacity implementiert
+ - CFile::Open mit Formatstring wurde umbenannt in CFile::Openf
+ - CFont unterstützt Parameter für Rotation
+ - Font-Format 6 eingeführt (Backport aus PPL7)
+ - Bugfix: Array::Explode auf einen leeren String führt jetzt nicht mehr
+ dazu, dass ein leeres Element hinzugefügt wird
+
+Version 6.4.10 vom 10.11.2011 (CVS-Tag: REL_6_4_10)
+ - CCurl-Klasse: Signals werden nun standardmäßig deaktiviert,
+ da Anwendungen mit mehreren Threads sonst in Probleme laufen.
+ Mit der neuen Funktion CCurl::EnableSignals können die Signals
+ explizit wieder aktiviert werden.
+
+Version 6.4.9 vom 30.10.2011 (CVS-Tag: REL_6_4_9)
+ - Kompatibilitätsprobleme mit OpenSSL 1.x.x behoben
+ - Funktion StartThread, um einen Thread ohne Verwendung der
+ Klasse CThread zu starten
+ - Webserver-Klasse, die auf libmicrohttpd aufsetzt
+
+Version 6.4.8 vom 27.07.2011 (CVS-Tag: REL_6_4_8)
+ - Datenbankklassen: Neue Funktion "databaseType"
+ - Bugfix in Compression-Klasse: bei Verwendung des V2-Prefix
+ wurde beim Komprimieren statt Länge der unkomprimierten Daten
+ die Länge der komprimierten Daten geschrieben
+ - Bugfix in Datenbank-Connect-Funktion. Fehlerhaften "ifdef" für
+ Postgres korrigiert
+ - Bugfix in Postgres-Escape-Funktion. Das letzte Zeichen des
+ Strings wird nun nicht mehr abgeschnitten.
+
+Version 6.4.7 vom 25.05.2011 (CVS-Tag: REL_6_4_7)
+ - CDateTime holt sich nun die Millisekunden via "gettimeofday",
+ sofern die Funktion vorhanden ist. Bei der Ausgabe mit
+ "get" wird nun der Platzhalter "%*" unterstützt, der durch die
+ Millisekunden ersetzt wird.
+ - Überarbeitung und Vereinfachung der Exception-Klasse
+ - Neue Klasse: CIcecast zum Streamen von MP3 oder OGG Dateien
+ an einen Icecast Server
+ - Update der Dokumentation auf Doxygen 1.7.3
+ - CAssocArray unterstützt nun CDateTime und kann CWString Im- und
+ Exportieren (es erfolgt eine Konvertierung nach UTF-8)
+
+Version 6.4.6 vom 17.03.2011 (CVS-Tag: REL_6_4_6)
+ - CAssocArray hat Copy-Konstruktor und Zuweisungsoperator für CArray
+ erhalten.
+ - CDateTime vollständig dokumentiert
+ - CDir verwendet nun unter Windows die Wide-Character-Funktionen
+ zum Einlesen eines Verzeichnisses. Dadurch sollte es jetzt keine
+ Probleme mehr mit Nicht-US-ASCII-Zeichen im Dateinamen geben.
+ - Bugfix in CWikiParser: Bei der Darstellung von Sourcecode fehlt
+ das schließende "".
+ - CTree hat neue const-Funktionen zum Rückwärtsdurchwandern des
+ Baums mittels CTreeWalker
+ - CAssocArray hat neue const-Funktionen zum Durchwandern des
+ Baums mittels CTreeWalker
+ - CCurl: Neue Funktionen: SetMaximumPersistantConnects, Reset
+ - CArray hat neue Funktionen: MakeUnique und fromArgs
+ - configure: Erkennung von Postgres überarbeitet
+
+Version 6.4.5 vom 28.11.2010 (CVS-Tag: REL_6_4_5)
+ - Bugfix in Sybase::Query: Bei einem Fehlerhaften Query wurde das
+ Result-Set nicht gelöscht
+ - Bugfix in Sybase::SetResultBufferGrowSize: Es fehlte ein #IFDEF,
+ wodurch das Kompilieren unmöglich war, wenn keine Sybase- oder
+ FreeTDS-Libs installiert waren
+ - Funktion PregMatch ist nun als eigenständige Funktion ausserhalb
+ der String-Klasse vorhanden
+ - CWString: Neue Funktion CWString::ReplaceLetterList
+ - CBinary hat jetzt eine "ToHex"-Export-Funktion, die seinen Inhalt
+ als String mit Hexwerten zurückgibt. Mit "FromHex" kann ein
+ Hex-String wieder importiert werden.
+ - CMemoryReference hat ebenfalls "toHex"-Funktion erhalten,
+ CMemory die Funktion "fromHex"
+ - CMHash Bugfix: CMHash::GetResult hat die Klasse nicht korrekt
+ reinitialisiert, so dass ein erneuter Aufruf falsche Werte
+ zurückgegeben hat.
+ - Bugfix SybaseResult::FetchResultSet. Es wurde nicht geprüft,
+ ob überhaupt ein Result vorhanden ist.
+
+Version 6.4.4 vom 01.11.2010 (CVS-Tag: REL_6_4_4)
+ - CDateTime::diffSeconds: Ermittelt die Differenz zweier CDateTime
+ Werte in Sekunden
+ - CDateTime::compareSeconds: Vergleicht zwei CDateTime-Werte auf
+ Sekundenbasis anhand einer definierbaren Toleranz
+ - CArray hat nun Sort-Funktion zum Sortieren der Werte
+ - CArray hat nun Implode-Funktion, um das Array in einen String zu
+ konvertieren
+ - Bugfix Postgres.cpp läßt sich wieder kompilieren
+ - Sybase-Datenbankklasse überarbeitet. Sie verwendet jetzt eine
+ eigene optimierte Result-Klasse und nicht mehr GenericResult.
+ Queries mit einem großen Result-Set können nun iterativ mit
+ FetchArray oder FetchFields durchlaufen werden, ohne dass zunächst
+ das komplette Result-Set in den Speicher geladen werden muss.
+
+Version 6.4.3 vom 16.10.2010 (CVS-Tag: REL_6_4_3)
+ - Update auf Doxygen 1.7.x, Anpassungen am Layout
+ - Alte Datenbank-Klassen entfernt
+ - Bugfix in CGenericList: Die Liste kann nun auch Rückwärts
+ durchlaufen werden. Zuvor wurde dabei immer nur das erste Element der
+ Liste zurückgegeben.
+ - Bugfix in der Berechnung der Anzahl Frames bei einer MP3-Datei mit
+ variabler Bitrate
+ - Bugfix in CID3Tag: Framegröße bei ID3v2-Tags Version 2.3 wird nun korrekt
+ interpretiert.
+ - Bugfix CString::IsNumeric: Komma, Punkt und Minus wurden falsch interpretiert
+ - Bugfix db::Sybase::Escape: Es wird nun ein korrekter Returnwert zurückgegeben
+ - db::Database::Save: Funktion akzeptiert jetzt einen sechsten optionalen
+ Parameter, über den man die Variablen-Typen angeben kann.
+ - db::Database: Transaktionen können nun verschachtelt werden
+
+Version 6.4.2 vom 19.08.2010 (CVS-Tag: REL_6_4_2)
+ - ppl6::db::Sybase::GetInsertID funktioniert nun
+ - ppl6::CString: Zusätzliche PregMatch-Funktion, die als "const" deklariert
+ ist
+
+Version 6.4.1 vom 27.07.2010 (CVS-Tag: REL_6_4_1)
+ - configure prüft nun, ob "_FILE_OFFSET_BITS" definiert werden muss, um
+ grosse Dateien verwenden zu können
+ - configure prüft nun optional, ob die Library mpg123 installiert ist
+ - configure: Überprüfung von libmp3lame wurde in eigene Datei ausgelagert.
+ Zusätzlich wird nun geprüft, ob lame die neue hip_decode-Funktion
+ unterstützt.
+ - CMP3Decode fungiert nun als Basisklasse für verschiedene Dekoder, kann jedoch
+ nach wie vor genauso benutzt werden, wie bisher. Optional kann mit der Funktion
+ CMP3Decode::Init angegeben werden, welcher Dekoder benutzt werden soll. Wird dies
+ nicht gemacht, wird standardmäßig nun Mad oder mpg123 verwendet, jenachdem
+ was installiert ist.
+ - Neue MP3-Dekoder auf Basis der mpg123 Bibliothek
+ - Bugfix in CWString::Set. Die Funktion konnte nicht kompiliert werden,
+ wenn keine libiconv vorhanden war.
+ - pplgenresource kennt jetzt Parameter "compression" in der Konfigurations-
+ datei
+ - Grafikfunktion Blt verwendet nun optimierte Copy-Funktion unter
+ Verwendung von MMX, SSE und dem L1-Cache der CPU
+ - Bugfix in den Vergleichs-Operatoren und -Funktionen der String-Klassen.
+ Es wurde bisher nicht berücksichtigt, dass zwei leere Strings auch dann
+ identisch sind, wenn die Buffer noch nicht allokiert sind. Im Gegenteil,
+ es wurde sogar explizit geprüft, ob einer der beiden Buffer auf NULL zeigt,
+ und in dessen Abhängigkeit ein bestimmer Returncode gegeben (z.B. +2 oder
+ -2). Das Verhalten wurde jetzt so geändert, dass bei einem NULL-Pointer
+ ein leerer String angenommen wird und der Vergleich mit dem anderen String
+ auf jeden Fall durchgeführt wird.
+ - CString: Vergleichsoperatoren für CString hinzugefügt
+ - CWString: Vergleichsoperatoren mit "const char*" und "CWString*" entfernt.
+ In beiden Fällen wird der Kompiler jetzt eine automatische Typ-
+ konvertierung zu CWString durchführen.
+ - CDateTime: Neue Klasse zum Speichern von Datum und Uhrzeit
+ - CVar hat keinen virtuellen Destruktor mehr. Alle davon abgeleiteten Klassen
+ benötigen dadurch weniger Speicher. Es muss nun aber static_cast statt
+ dynamic_cast verwendet werden, wenn zwischen den Datentypen gecastet wird.
+ - Exceptions überarbeitet: Es gibt jetzt nurnoch eine Exception-Klasse
+
+Version 6.4.0 vom 30.03.2010 (CVS-Tag: REL_6_4_0)
+ - Copyrights auf 2010 aktualisiert
+ - Bugfix in der 64-Bit-Version der Font-Assembler-Routinen
+ - MkRFC822Date wurde überarbeitet und liefert nun gemäß RFC 822 die
+ englischen Bezeichnungen für Tag und Monat zurück. Ausserdem wurden einige
+ veraltete Funktions-Alternativen entfernt.
+ - GetHostByName wurde geändert. Ursprünglich hat die Funktion intern einen
+ einzelnen Aufruf der Systemfunktion getaddrinfo gemacht. In neueren libc
+ Bibliotheken scheint sich jedoch das Verhalten geändert zu haben. Hier
+ werden AAAA-Records nur dann zurückgegeben, wenn auf dem lokalen host
+ auch eine globales IPv6-Interface konfiguriert ist. Zu beobachten auf
+ Ubuntu 9.10 nach Einspielen der Updates am 13.01.2009. Die Funktion wurde
+ daher geändert und ruft getaddrinfo nun zweimal auf, einmal für IPv4/INET
+ und einmal für IPv6/INET6.
+ - nasm wird jetzt auch auf 64-Bit FreeBSD-Systemen gefunden
+ - CArray: Aufruf von Add(CArray &a) wurde geändert in Add(const CArray &a)
+ - Memory-Leak in CFileObject::Load behoben
+ - CVar und alle davon abgeleiteten Klassen: Callback-Funktionalität entfernt.
+ Dadurch ist die Klasse bei Änderungen am Datenwert nicht nur schneller,
+ sondern der Speicherbedarf auch um 8 Byte (32-Bit-Prozessoren) bzw. 16 Byte
+ (64-Bit Prozessoren) kleiner.
+ - CResolver: Neue Klasse für Nameserver-Abfragen auf Basis der ldns-Library
+ von nlnetlabs.nl (http://www.nlnetlabs.nl/projects/ldns/) (Ist noch in
+ Arbeit!)
+ - CString:
+ - Neue Funktion InstrCase
+ - Parameter zu Instr und StrCmp sind nun als const deklariert
+ - Calc unterstützt nun Potenzen (^) und erwartet eine Referenz anstelle
+ eines Pointers als zweiten Parameter. Ausserdem wird als Dezimal-
+ Trennzeichen nun auch Komma akzeptiert
+ - CSocketMessage hat nun Copy-Funktion und Copy-Konstruktor
+ - CAVLTree hat neue Funktion "Remove", die ein Element nur aus dem Baum
+ entfernt, aber nicht dessen Speicher löscht
+ - CMutex::Wait und CMutex::Signal funktionieren nun auch unter Windows
+ - CAssocArray: Reset, GetFirst und GetNext akzeptieren nun ein CTreeWalker
+ Objekt und sind als const deklariert
+ - CAssocArray: List und Count sind nun als const deklariert
+ - CLog: Array-Parameter bei PrintArray-Funktionen ist jetzt als const
+ deklariert
+ - CTCPSocket: Funktionen IsWriteable, IsReadable, WaitForIncomingData und
+ WaitForOutgoingData sind jetzt auch für Windows implementiert.
+ - CAVLTree: Einige Funktionen sind nun als "const" deklariert
+ - CAVLTree: Kritischen Fehler in der Funktion "Clear" behoben, der
+ zu Segmentation Fault und Memory-Leaks führen konnte.
+ - CLog: Es wird nun immer _vor_ der Verarbeitung der Daten geprüft, ob
+ sie auszugeben sind und nicht erst später. Das führt insbesondere beim
+ Loggen von grossen CAssocArrays oder Hexdumps, die nicht ausgegeben
+ werden müssen, zu drastischen Performance-Verbesserungen
+ - db::CPool: Bugfix in Funktion "Get". Parameter "wait" wurde nicht beachtet,
+ Funktion lief in einer Endlosschleife, wenn das Pool-Limit erreicht war.
+ - FreeTDS: configure prüft nun, ob Compiler -lrt benötigt
+ - Fehler in CLog::CheckRotate behoben
+ - Komplett-Überarbeitung der Grafik-Funktionen im neuen Namespace ppl6::grafix.
+ Alle Zeichenfunktionen basieren jetzt auf der Basisklasse CDrawable, die
+ auch ohne Initialisierung der Grafik-Engine benutzt werden kann. Die
+ Überarbeitung ist noch nicht abgeschlossen.
+
+ Neue Klassen der Grafik-Engine:
+ - Point
+ - Point3D
+ - Size
+ - Rect
+ - RGBFormat (ist jetzt keine Enumeration mehr!)
+ - Color
+ - AdapterCaps
+ - AdapterIdentifier
+ - AdapterMode
+ - GFXEngine (Basisklasse für alle Grafik-Engines)
+ - GFXEngineSoftware
+ - GFXEngineDX9
+ - GFXEngineSDL
+ - CDrawable
+ - CImage
+ - CImageList
+ Überarbeitete Klassen:
+ - CSurface
+ - CGrafix
+ - CSprite
+ - CFont
+ - CFilter (und alle davon abgeleiteten Klassen)
+ - CFontFile
+ - CFontEngine (und alle davon abgeleiteten Klassen)
+
+
+Version 6.3.3 vom 12.02.2010 (CVS-Tag: REL_6_3_3, Branch: RELENG_6_3)
+ - Visual C++ 2008 Kompatibilität wiederhergestellt
+ - Doppelte Funktionen in functions.cpp und strings.cpp eliminiert
+ - Neue Klassen zum Verwalten eines einzelnen Speicherblocks:
+ - CMemory
+ - CMemoryReference
+ - Addition von CString und CWString funktioniert nun besser
+ - Bugfix in CFile::MMap: File-Offset wird jetzt intern immer auf
+ eine Seitengröße abgerundet, die über sysconf(_SC_PAGE_SIZE)
+ ermittelt wird.
+
+Version 6.3.2 vom 04.12.2009 (CVS-Tag: REL_6_3_2)
+ - Bugfix in ppl6::db::Database::GetEscaped
+ - Bugfix in CString::PregReplace: Beim Ersetzen durch einen per RegEx
+ kopierten Strings wurde der falsche Textbuffer verwendet, wodurch nur
+ der erste Match korrekt ersetzt wurde.
+ - CString:IsNumeric Bugfix
+ - Neue Funktionen: FromBase64, ToBase64, EscapeHTMLTags
+ - Die Datenbank-Funktionen "ExecArray..." löschen nun das Ergebnisarray, bevor
+ es mit dem Ergebnis gefüllt wird
+ - Neue String-Funktionen:
+ CString Trim(const CString &str);
+ CString Trim(const char *str);
+ CString UCase(const CString &str);
+ CString UCase(const char *str);
+ CString LCase(const CString &str);
+ CString LCase(const char *str);
+ CWString Trim(const CWString &str);
+ CWString UCase(const CWString &str);
+ CWString LCase(const CWString &str);
+ int StrCmp(const CString &s1, const CString &s2);
+ int StrCmp(const CWString &s1, const CWString &s2);
+ int StrCaseCmp(const CString &s1, const CString &s2);
+ int StrCaseCmp(const CWString &s1, const CWString &s2);
+ int Instr (const CString &string, const CString &such, size_t start=0);
+ int InstrCase (const CString &string, const CString &such, size_t start=0);
+ int Instr (const CWString &string, const CWString &such, size_t start=0);
+ int InstrCase (const CWString &string, const CWString &such, size_t start=0);
+ CString Left(const CString &str, size_t num);
+ CString Right(const CString &str, size_t num);
+ CString Mid(const CString &str, size_t start, size_t num=(size_t)-1);
+ CString SubStr(const CString &str, size_t start, size_t num=(size_t)-1);
+ CWString Left(const CWString &str, size_t num);
+ CWString Right(const CWString &str, size_t num);
+ CWString Mid(const CWString &str, size_t start, size_t num=(size_t)-1);
+ CWString SubStr(const CWString &str, size_t start, size_t num=(size_t)-1);
+ CString MD5(const CString &str);
+ CString MD5(const CWString &str);
+ CString MD5(const CBinary &bin);
+ - Kleinere Bugfixes nach statischer Code-Analyse mit cppcheck und rats
+ - Neue Time-Funktionen:
+ - CString Long2Date(const char *format, int value)
+ - CString MkDate(const char *format, ppluint64 sec)
+
+Version 6.3.1 vom 25.10.2009 (CVS-Tag: REL_6_3_1)
+
+ - ppl6::db::MySQL::FieldType: Die MySQL-Datentypen wurden nun mit #ifdef's
+ versehen, damit auch ältere MySQL-Versionen funktionieren
+ - ppl6.m4 hat jetzt ein Macro zum Prüfen, ob ein bestimmtes Feature in die Library
+ einkompiliert wurde: AX_PPL6_FEATURE
+ - ppl6-config hat neues Flag zum Auslesen der einkompilierten Fearures:
+ --features
+ - ppl6::db::MySQL: Der Default für den zu verwendenden Zeichensatz bei der
+ Kommunikation mit dem Server wurde von UTF-8 auf Latin1 geändert, da auch
+ MySQL defaultmäßig Latin1 verwendet, wenn bei der Tabellenerstellung nicht
+ explizit ein anderer Zeichensatz angegeben wurde. Der gewünschte Zeichensatz
+ kann nun als Connect-Parameter "charset" angegeben werden.
+ - Bugfix in ppl6::db::MySQL: Die letzte Insert-Id wird nun bei Exec
+ an der richtigen Stelle im Programmcode abgefragt, wodruch GetLastInsertID
+ nun nicht mehr 0 zurückgibt.
+ - CTCPSocket wurde vollständig dokumentiert
+ - CTCPSocket: Der Konstruktor mit dem void-Pointer wurde entfernt, da dieser
+ eh nur intern aufgerufen wurde
+ - CTCPSocket::Listen hat nun einen optionalen Parameter, der das Intervall
+ definiert, in dem auf einen Stop-Wunsch geprüft wird. Ausserdem wird nun
+ "select" verwendet, um auf eingehende Connects zu prüfen. Dadurch reagiert
+ Listen schneller auf eingehende Verbindungen.
+ - CTCPSocket::ReceiveConnect erwartet nun "const char*" als zweiten Parameter
+ und nicht mehr "char*".
+ - Funktion CTCPSocket::Poll entfernt
+ - Funktion CTCPSocket::SetWriteTimeout hinzugefügt
+ - CTCPSocket::SSL_Connect umbenannt in SSL_Start
+ - CSSL: In LoadTrustedCAfromFile und LoadTrustedCAfromPath wird nun am Ende die
+ OpenSSL-Fehlerqueue gelöscht, da auch bei erfolgreichem Laden Fehler auftreten
+ können (bereits bekannte Zertifikate werden nochmal geladen), die später
+ zu Problemen führen können.
+ - CSSL: Die Enumeration "SSL_METHOD" ist nun Bestandteil der Klasse CSSL
+ und nicht mehr in einem eigenen Namespace
+ - GetMicroSeconds wurde umbenannt in GetMilliSeconds, da die Funktion
+ Millisekunden zurückliefert und keine Mikrosekunden.
+ - Der Datentyp "ARRAY_RESULT" ist nun kein "void *" mehr, sondern ein Pointer
+ auf eine Struktur. Dadurch werden Codestellen, an denen noch GetArray(CString *)
+ statt GetArray(CString &) aufgerufen wird nun als Fehler erkannt und nicht
+ mehr vom Compiler als GetArray(ARRAY_RESULT) interpretiert.
+ - CID3Tag wurde überarbeitet:
+ - Alle String-Tags werden nun mit einem 0-Byte terminiert, wie
+ es die Spezifikation vorschreibt.
+ - Statt UTF-8 werden alle Strings nun in UTF-16 geschrieben
+ - SetComment wurde nun (hoffentlich) korrekt implementiert
+ - CString: Preg-Funktionen machen nun Fallback auf Singlebyte-Zeichen, wenn
+ der zu durchsuchende String ungültiges UTF-8 enthält
+ - strcasestr gibt nun "const char*" statt "char*" zurück
+ - CArray hat nun Copy-Funktionen
+ - CMHash::Hash kann nun auch mit einem String als Algorithmus aufgerufen
+ werden
+ - CReadMail: Mehrere Fehler behoben, unter anderem einen in GetTranscodedBody,
+ der dazu führte, dass die Funktion NULL zurückgegeben hat.
+ - Weitere Parameter von Member-Funktionen sind nun als "const" deklariert
+ - CMHash::GetResult löscht nun den Ergebnisparameter vorher
+ - CSendMail: Verbindung mit dem Mailserver wird nun ordnungsgemäß mit
+ QUIT beendet.
+
+
+Version 6.3.0 vom 25.08.2009 (CVS-Tag: REL_6_3_0)
+ - Änderung der Parametertypen: Fast sämtliche Pointer-Parameter
+ wurden durch Referenzen ersetzt und sind jetzt - sofern sie nicht
+ verändert werden, als "const" deklariert. Auch sämtliche Member-
+ Funktionen, deren Aufruf keine internen Daten der Klasse veränderen,
+ sind nun als "const" deklariert.
+ Durch die umfangreichen Änderungen entstehen Inkompatibilitäten
+ zu früheren Versionen, so dass Anwendungen angepasst werden müssen!
+ Betroffen sind folgende Klassen:
+ - CString
+ - CWString
+ - CBinary
+ - CTok
+ - CFile
+ - CMemFile
+ - CHostsAllow
+ - CArray
+ - CAssocArray
+ - CCurl
+ - CSendMail
+ - CReadMail
+ - CHostsAllow
+ - CLang
+ - CIconv
+ - CLog
+ - CDebug
+ - CSocketMessage
+ - CSocket
+ - CUDPSocket
+ - Cppl6Core
+
+ - Neuer generischer AVL-Baum: CAVLTree. Dieser hat die Vergleichsfunktionen
+ in der Klasse selbst und nicht mehr in den Knoten. Auch die Verwaltung der
+ Knoten wird durch die AVL-Klasse übernommen, wodurch die Knoten nicht
+ mehr von CTreeItem abgeleitet werden müssen, sondern Pointer auf beliebige
+ Datenstrukturen sein können.
+ - File-Klassen wurden komplett überarbeitet. CFile ist nun nicht
+ mehr Basisklasse, sondern wird von der neuen Klasse CFileObject
+ abgeleitet. CMemFile wird nun ebenfalls von CFileObject abgeleitet.
+ Diese Änderung macht es erforderlich alle Funktionen, die als
+ Parameter ein "CFile&" oder "CFile*" erwarten, zu überprüfen, ob nun
+ nicht ein CFileObject erforderlich ist.
+ - CFile::Map verwendet nun mmap, sofern verfügbar
+ - File-Klassen wurden vollständig dokumentiert
+ - Die Funktion ReadFile ist weggefallen, stattdessen kann CFile::LoadFile
+ verwendet werden
+ - CVar hat nun Enumeration "PPLDataType", alle abgeleiteten Klassen
+ kennen ihren Datentyp. Durch Aufruf der Funktion CVar::DataType()
+ kann man den Typ herausfinden und so ein beliebiges CVar-Objekt
+ in das richtige umwandeln.
+ - Queue-Klasse CQueue überarbeitet, man kann nun beliebige Objekte
+ anhand ihrer Pointer hineingaben
+ - Kompatibilitäts typedefs entfernt, somit gibt es keine Klassen mehr,
+ die mit "Cppl..." anfangen
+ - CMCrypt: Neue Klasse zum Verschlüsseln und Entschlüsseln von Daten,
+ basierend auf libmcrypt
+ - CMHash: Neue Klasse zum Erstellen von Hashes mit verschiedenen
+ Algorithmen (z.B, MD5 oder SHA-256), basierend auf libmhash
+ - Konvertierung zwischen CString und CWString erfolgt nun über
+ Funktionen der libc, wenn Iconv nicht zur Verfügung steht. Dies
+ setzt jedoch voraus, dass die Strings in CString entweder UTF-8
+ oder US-ASCII kodiert sind. Iconv ist nun wieder optional.
+ - Neue statische Funktionen in der Klasse Cppl6Core, mit denen geprüft
+ werden kann, ob ein bestimmtes Feature einkompiliert wurde.
+ Cppl6Core::have... (siehe \ref PPL6_Features)
+ - Neue Funktion "Random", die eine beliebige Anzahl Zufallsdaten
+ erzeugt und als CBinary-Objekt zurückgibt.
+ - RenameFile: Funktion prüft nun, ob alter und neuer Dateiname
+ identisch sind, bevor irgendetwas gemacht wird.
+ - Klasse CCompression wurde komplett überarbeitet und dokumentiert
+ - Klasse CDir wurde komplett überarbeitet
+ - CIconv hat nun statische Funktionen zum Auflisten aller
+ unterstützen Charsets
+ - libiconv wird nun zuverlässiger erkannt
+ - Bugfix in MkDir unter Windows
+ - Bugfix in CDBWrapper: Einige Funktionen haben als Returnwert den
+ Fehlercode zurückgegeben statt 0.
+ - ppl6-config liefert bei Aufruf mit "--cflags" nurnoch die tatsächlich
+ notwenigen Parameter
+ - Neue Datenbank-Klassen
+ Die Datenbank-Klassen wurden komplett überarbeitet und im neuen
+ Namespace "ppl6::db" reimplementiert. Statt einem Result-Handle, das
+ bei verschiedenen Funktionen zum Verarbeiten des Ergebnisses immer wieder
+ als Parameter übergeben werden mußte, wird nun eine Result-Klasse
+ verwendet. Diese enthält alle zur Verarbeitung des Ergebnisses
+ erforderlichen Funktionen und muss am Ende nur mit delete gelöscht
+ werden. Alle Funktionen der neuen Klassen wurden vollständig dokumentiert.
+ Die alten Klassen im ppl6-Namespace sind weiterhin enthalten, werden
+ aber in einer zukünftigen Version entfernt.
+ - Postgres-Datenbank wird mit der neuen Klasse ppl6::db::Postgres
+ erstmalig in PPL6 unterstützt. Die Klasse CDBPostgres war nie
+ wirklich implementiert.
+ - Neue Klasse ppl6::db::GenericResult zum Speichern von Ergebnissen aus
+ Datenbank-Selects und zum Kopieren von Ergebnissen.
+ - Das Verzeichnis "docs" und die Doxygen-Dateien sind nun in der
+ Source-Distribution enthalten. Aus irgendeinem Grund fehlten sie bisher.
+ - CString und CWString haben neue Funktion "IsNumeric"
+ - CAssocArray: Bei der Sortierung der Elemente wird nun geprüft,
+ ob die zwei zu vergleichenden Schlüssel nummerisch sind. Ist dies der Fall,
+ erfolgt der Vergleich auf nummerischer Basis anstelle des Strings. Bei
+ Verwendung von "[]" wird daher die Datensatznummer nicht mehr in einen
+ 10-stelligen String verwandelt.
+ - CSocket-Klasse wurde umbenannt in CTCPSocket
+
+Version 6.2.6 vom 09.06.2009 (CVS-Tag: REL_6_2_6, Branch: RELENG_6_2)
+ - Funktionen "PokeFloat" und "PeekFloat" hinzugefügt
+ TODO: Big Endian Implementation
+ - Neue Funktion "GetID3GenreName"
+ - Fehler in CTree::Find behoben
+ - CString und CWString haben neue Funktion UCWords
+ - IdentMPEG: Fehler in der Erkennung des MPEG-Headers gefixt
+ - CID3Tag: Es kann nun Version 2.4 gelesen werden
+ - CID3Tag: Bugfix in Save-Funktion, Framegröße > 127 Byte wird nun
+ korrekt geschrieben
+ - CID3Tag: Bugfix beim Dekodieren von Frames (CopyAndDecodeText)
+ - CTree: Kritische Bug gefixt. Beim Einfügen eines neuen Knotens
+ wurden die Pointer auf left und right sowie die Balance nicht mit
+ NULL initialisiert. Dies konnte zu Schutzverletzungen und Endlosschleifen
+ führen.
+ - CTree / CTreeItem: Dokumentation korrigiert
+ - CTreeItem hat nun Funktionen zum Auslesen der Verbindungen zu Parent,
+ Left und Right
+ - CQueue: Neue Klasse zum Verwalten von Queues
+ - Fehler im Configure behoben, der unter Windows mit MinGW dazu
+ führte, dass Iconv mit einer falschen Byteorder initialisiert
+ wurde, was wiederum zu Fehlverhalten in CWString führte
+ - RenameFile prüft nun nach dem "remove", ob die Datei an der alten
+ Position noch vorhanden ist und löscht sie gegebenenfalls
+ - Einige Memberfunctions von CString und CBinary sind nun als
+ "const" deklariert. In der nächsten Release werden weitere folgen.
+ - CString kann nun auch CBinary importieren, sowie Qt's QVariant
+
+Version 6.2.5 vom 15.05.2009 (CVS-Tag: REL_6_2_5)
+ - Neue Funktion: CFile::Sync: Dateiänderungen sofort auf die Platte
+ schreiben
+ - Dokumentation CApplication
+ - CID3Tag: Funktionen zum Auslesen der üblichen Tags (Artist, Titel, etc.)
+ - MkTime-Funktion mit Integer als Parameter
+ - CConfig: Neue Funktionen
+
+Version 6.2.4 vom 01.03.2009 (CVS-Tag: REL_6_2_4)
+ - Bugfix: Falsche Reihenfolge der Destruktor-Aufrufe in PPLExit
+ - Tippfehler in CLog beseitigt
+ - CArray: Explode-Funktion kann nun leere Zeilen ignorieren (zusätzlicher
+ Parameter erforderlich)
+ - DirectX 9 Engine vervollständigt
+ - Neue Klasse: grafix::CSprite zum Laden und Anzeigen von Sprites
+ - Das Makefile erfordert nun kein GNU-make mehr, sondern funktioniert
+ beispielsweise auch mit FreeBSD make
+ - Bugfix: Segmentation Fault und Endlosschleife beim Lesen von
+ defekten JPEG-Files behoben
+ - configure: Erkennung für "nasm"-Assembler hinzugefügt
+ - Assembler Unterstützung für AMD 64-Bit unter Unix und Windows
+ - BltColorKey nutzt nun auch Assembler
+ - Bugfix: BMP-Dateien mit 32-Bit Farbtiefe und Alphakanal werden nun
+ korrekt geladen
+ - Neu: Unit-Tests für Grafik-Funktionen
+ - Bugfix: Die Interpretation der RECT-Struktur war in einigen
+ Grafik-Funktionen fehlerhaft
+ - Fonts: Fehlerhafte Datei "liberationsans.fnt5" ersetzt durch
+ "liberationsans8.fnt5"
+ - BltDiffuse verwendet nun auch Assembler und ist damit ca. 4 mal schneller!
+ Die C-Version verwendet nun die Integer-Variante RGBBlend255 statt der
+ Floatingpoint-Variante RGBBlend und ist damit auch mehr als doppelt so
+ schnell wie bisher.
+ - Sybase: Beim Connect kann nun die TDS-Version und Paketgröße angegeben
+ werden. Außerdem ist es nun möglich direkt auf einen Hostnamen oder
+ IP-Adresse zu connecten, ohne dass dieser in der Interfaces-Datei
+ definiert wurde.
+ - Sybase: Neue Funktionen zur globalen Initialisierung:
+ - CDBResult: Statt einem Key-Value basierten CAssocArray kann das Ergebnis
+ einer Zeile nun auch in einem durchnummerierten CArray abgelegt werden
+ - CDBResult: Neue interne Funktion ToString um einen bliebigen Datentyp
+ in einen String zu wandeln
+ - CDBResult: Ber Befehl "Result" unterstützt nun als zweiten Parameter auch
+ einen Spalten-Index statt einen Namen
+ - Configure prüft nun den CPU-Typ und aktiviert zusätzliche Compiler-Flags
+ zur Optimierung.
+ - CSurface::PutPixel ist nun vom Typ "void" und speichert Koordinaten und
+ Farbe nicht mehr. Dadurch ist die Funktion schneller. Zusätzlich
+ läßt sich über einen Auftruf der Funktion CSurface::FastPixel(true)
+ die Prüfung abschalten, ob der Pixel im erlaubten Zeichenbereich liegt.
+ Die Anwendung muss sicherstellen, dass dies nicht passiert, da es sonst
+ zu Schutzverletzungen kommen kann.
+ - CSendMail::CSendMail verwendet nun gethostname und getdomainname zur
+ Ermittlung des sendenden Hostnamens statt der Environment-Variable
+ HOSTNAME, sofern die Funktionen vorhanden sind.
+
+Version 6.2.3 vom 24.11.2008 (CVS-Tag: REL_6_2_3)
+ - configure stoppt nun nicht mehr, wenn zwingend benötigte Libraries
+ fehlen, sondern meldet dies erst im Anschluss an die Zusammenfassung
+ - iconv ist nun zwingend erforderlich, wird indirekt von den Funktionen
+ LCase und UCase der String-Klasse benötigt
+ - IsTrue erkennt nun auch "on" und "an" als true
+ - CLog hat nun Rotate-Funktion
+ - CLog-Bugfix: Mutex in PrintArraySingleLine wurde zu spät gelocked
+ - Update auf Doxygen 1.5.7
+ - Bugfix in CApplication: Destruktor darf nicht PPL_Exit aufrufen,
+ da dies später automatisch passiert
+ - Bugfix in sybase.m4 Macro
+
+
+Version 6.2.2 vom 23.06.2008 (CVS-Tag: REL_6_2_2)
+
+Das "a" in der letzten Version bereitete ein paar Probleme, daher
+gibt es kurzfristig nochmal diese Version mit wenig Änderungen:
+ - configure: changed iconv detection, which now works on FreeBSD
+ - Bugfix in CSocket::SSL_Connect() bei Verwendung von Timeouts
+ - Visual Studio 2003 Project-File aktualisiert
+
+
+Version 6.2.1a vom 15.06.2008 (CVS-Tag: REL_6_2_1)
+ - Bugfix: Bei der Übersetzung der Socketfehler wurden nun überall
+ "#ifdef"'s hinzugefügt, da nicht alle Errorcodes auf allen
+ Betriebsystemen vorhanden sind.
+
+
+Version 6.2.1 vom 15.06.2008 (CVS-Tag: REL_6_2_1)
+ - Visual Studio 2008 Projekt-File aktualisiert
+ - Fehler im configure bzgl. Include-Pfad bei bzip2 behoben
+ - Korrektur in der iconv-Erkennung. Ein hardgecodeter Pfad (/usr/local/lib)
+ führte zu Problemen und wurde entfernt.
+ - Neue Funktion: CBinary::HexDump
+ - CAssocArray: Verschiedene Funktionen retten nun den aktuellen
+ Fehlerzustand
+ - CInt: Operator |= hinzugefügt
+ - CString: Funktionen StrCmp und StrCaseCmp erwarten als ersten
+ Parameter nun "const char *" statt "char *"
+ - Gemeinsame externe Funktionen von CSocket und CUDPSocket wurden
+ in eigene Datei socket.cpp verschoben
+ - Grafix: Mit DirectX9-Engine begonnen
+ - src/grafix6/Errors.cpp wurde in GrafikErrors.cpp umbenannt, das es
+ unter VS2008 sonst zu Überschneidungen kommt
+ - CConfig: Leerzeilen werden nicht mehr überlesen
+ - Windows-Sockets: Übersetzung von Windows-Socket-Fehlermeldungen
+ - CSocket: Neue Funktionen "IsReadable" und "IsWriteable"
+ - Bugfix CLog::LogError: Error-Text wurde nicht mehr ins Logfile geschrieben
+ - configure: lame und libmad werden nun auch unter MinGW gefunden
+
+
+Version 6.2.0 vom 15.04.2008 (CVS-Tag: REL_6_2_0)
+ - Lizenz: Die PPL-Library steht nun endlich offiziell unter einer Open
+ Source Lizenz. Nach reiflicher Überlegung wurde eine BSD-Lizenz ohne
+ Werbungsklausel ausgewählt. Die Library kann somit ohne Einschränkung
+ auch in kommerziellen oder "Closed Source" Projekten verwendet
+ werden. Die Lizenz wurde in allen Quellcode-Dateien eingebaut.
+ - AVL-Code: Der bisherige AVL-Code basierte auf der libavl, die unter
+ der GNU General Public Licence steht. Da diese mit der BSD-Lizenz
+ unvereinbar ist, wurde der Code aus der Version vor 6.0.19 wieder
+ übernommen. Der damalige Fehler in der Löschfunktion wurde gefunden
+ - Doku: Copyright und Credits aufgenommen
+ - Die alte Grafik-Engine wurde entfernt, das Inlcude-File der neuen
+ Engine wurde von "ppl6-grafix6.h" in "ppl6-grafix.h" umbenannt.
+ - Weitere veraltete Dateien entfernt.
+ - Bugfix CReadMail: Leere Headerzeilen werden ignoriert
+ - Weitere Funktions-Prüfungen im Configure
+ - CAssocArray Verwendet nun CTree anstelle von CAVLTree.
+ - Funktionen CAssocArray::Get...Sorted wurden entfernt, Funktionen wie "GetNext..."
+ und "GetPrevious..." liefern die Elemente nun immer sortiert zurück.
+ - Klasse CAVLTree wurde entfernt
+ - CDir verwendet nun CTree statt CAVLTree
+ - CHeap: Speicher wird automatisch freigegeben. Wenn mehr als ein Block
+ komplett unbenutzt ist, wird der erste behalten und alle weiteren
+ freigegeben
+ - CString verwendet nun CHeap für den Speicher der Klasse
+ - CWString verwendet nun CHeap für den Speicher der Klasse
+ - CString: Der initiale Buffer für Strings wurde von 128 auf 64 Byte
+ verkleinert
+ - Cppl6Core: Der Heap-Speicher für CAssocArray, CString und CWString wird
+ nun durch Cppl6Core verwaltet
+ - CAssocArray: Klasse wurde vollständig dokumentiert und ein paar kleinere
+ Verbesserungen vorgenommen.
+ - Bugfix CConfig: Beim Einlesen der kompletten Sektionen wurden führende Leerzeichen
+ entfernt, obwohl diese für CConfig::GetSection erhalten bleiben sollten
+ - pplgenresource: In der Konfigurationsdatei kann man nun eine Sektion
+ "prefix" und "suffix" definieren. Der Inhalt von "prefix" wird der Resourcen-
+ Header-Datei vorangestellt, "suffix" wird angehangen. Ideal für Copyright-
+ Vermerke.
+
+
+Version 6.1.4 vom 31.03.2008 (CVS-Tag: REL_6_1_4)
+ - Dokumentation korrigiert: Scheinbar hab ich vergessen die neuste Version
+ der Doxygen-Konfigurationsdatei einzuchecken, wodurch die Doku nicht so
+ generiert wurde, wie es sollte
+ - Fehlernde Kompatibilitäts-typedefs nachgetragen:
+ - CpplSSL
+ - CppLCompression
+ - Neue Funktion: CBinary::ToFile
+ - Neue Funktionen in CMemFile:
+ - ppluint32 Gets(CString *buffer, int maxlinelength=1024);
+ - CString *Gets(int maxlinelength=1024);
+ - void Puts (CString *str);
+ - Bugfix: In CDBWrapper::Save wurde intern ein Return-Code falsch
+ interpretiert und der Update String wurde falsch zusammengebaut. Scheinbar
+ hab ich "Save" zuvor noch niemals mit "Update" aufgerufen...
+
+
+Version 6.1.3 vom 29.03.2008 (CVS-Tag: REL_6_1_3)
+ - Win32-Bugfix: ppl6::DeleteFile wurde nicht gefunden, da Windows
+ "DeleteFile" umdefiniert. In CpplFile.cpp wurde daher ein "#undef"
+ hinzugefügt.
+ - configure: Minimum-Version für SDL auf 1.2.10 hochgesetzt, darunter schlägt
+ das Kompilieren fehl.
+ - gcc 4.2.x fixes: Ab gcc 4.2.0 ist die Umwandlung einer String-Konstante
+ in einen "char*" nicht mehr erlaubt und führt zu einer Warnung:
+ "warning: deprecated conversion from string constant to 'char*'"
+ In der PPL-Library tritt das Problem insbesondere bei Funktionen auf,
+ die einen Format-String gefolgt von einer variablen Anzahl Parametern
+ erwarten. (z.B. SetError(ppluint32, char *msg, ...). Die betroffenden
+ Datentypen wurden daher in "const char *" geändert, wodurch es möglicherweise
+ zu inkompatibilitäten kommen kann!
+ Außerdem mußten zwei der CLog::Printf-Funktionen umbenannt werden.
+ - Bugfix: In CHostsAllow::LoadFromFile wurde CpplFile::Load statt CpplFile::Open
+ benutzt
+ - Bugfix: JPEG-Filter in grafix6-Namespace funktioniert nun. Es wurden
+ Returncodes der CpplFile-Klasse nicht richtig geprüft.
+ - Change in CConfig: Taucht ein Keywort mehrfach auf, wird dessen Wert mit Newline
+ an den vorhandenen angehangen. Bisher wurde der alte Wert durch den neuen
+ ersetzt.
+ - Bugfix: Erkennung von ftruncate im Configure und in config.h.in hinzugefügt
+ - Bugfix: CpplFile::Size() hat immer nur die Größe der Datei beim Öffnen
+ zurückgegeben, aber nicht die aktuelle Größe. Size() ruft nun Lof() auf.
+ - Sämtliche verbliebene Klassen in ppl6.h, die mit Cppl begonnen haben,
+ wurden nun ebenfalls umbenannt. Aus "Cppl..." wurde "C...". Für alle
+ alten Klassennamen wurden Typedef's definiert, so dass die alten
+ Namen noch weiterverwendet werden können. Diese Typedef's lassen
+ sich nun aber durch die Definition "NO_CPPL_COMPAT" abschalten.
+ - Die alten Klassennamen werden nun intern in der Library nicht mehr
+ verwendet.
+ - Etliche Dateinamen der Sourcen wurden umbenannt von "Cppl..." in "C..."
+ - CpplMail wurde umbenannt in CSendMail
+ - Neue Klasse CReadMail zum einlesen und dekodieren von Mails
+ - Dokumentation gründlich überarbeitet
+
+
+Version 6.1.2 vom 06.02.2008 (CVS-Tag: REL_6_1_2)
+ - CDBPoolEx::CheckPool ist nun implementiert
+ - CDBPool::Get, Bugfix: Der Pointer auf die Liste der freien Connects wurde
+ nicht auf den Anfang der Liste gesetzt, wodurch nach Aufruf von GetStatus
+ oder CheckPool keine Connects mehr aus dem Pool verwendet wurden.
+ - Der Bugfix an CTree::Find hat einiges durcheinander gebracht und wurde zurückgenommen.
+ Fehlerhaft war die Dokumentation der beiden Funktionen CompareNode und
+ CompareValue. Diese wurde korrigiert und verbessert.
+
+Version 6.1.1 vom 15.01.2008 (CVS-Tag: REL_6_1_1)
+ - Weitere Klassen wurden umbenannt:
+ - CpplDBResult => CDBResult
+ - CpplDBWrapper => CDBWrapper
+ - CpplDBMySQL => CDBMySQL
+ - CpplDBSybase => CDBSybase
+ - CpplLog => CLog
+ Für die alten Klassennamen gibt es "typedef"s, so dass diese
+ weiterverwendet werden können.
+ - Datenbankpools
+ - CDBPool: Verwaltung eines Verbindungspools zu einer einzelnen Datenbank
+ - CDBPoolEx: Verwaltung multipler Verbindungspools zu verschiedenen Datenbanken
+ - CLog:
+ - Neue Funktionen zur Ausgabe eines zusätzlichen Modul- und Funktionsnamens
+ - Filterfunktion für Module und Funktionen
+ - GetMicrotime: Alias für getmicrotime
+ - GetMicroSeconds: Liefert Millisekunden seit 1970 zurück
+ - Code-Pflege: Fehlende Klammern, Type-Casts und andere kleinere Fehler, die beim
+ Kompilieren zu Warnungen geführt haben, wurden korrigiert
+ - Configure prüft nun mehr Wide-Char Datentypen. Einige der bisher ungeprüften
+ Funktionen (z.B. wcstoll) sind nicht auf allen Systemen vorhanden (z.B. Solaris 9).
+ - Portierung Solaris 9/10
+ - PeekNx und PokeNx führten unter Solaris zu Bus-Error, wenn die Adresse nicht
+ aligned war.
+ - CTree::Find Bugfix: Routine hat den Baum in der falschen Richtung durchsucht
+
+Version 6.1.0 vom 27.11.2007 (CVS-Tag: REL_6_1_0)
+ - Neue Grafik-Engine!
+ Die bisherige grafix6-Engine wurde verworfen und komplett neu implementiert.
+ Die neue Engine hat einen eigenen Namespace (ppl6::grafix) und ein eignes
+ Header-File (ppl6-grafix6.h). Die Engine hat ebenfalls eine neue
+ Fontengine, die FreeType und das neue Eigenformat Font5 unterstützt.
+ Die "uralt-Engine" ist weiterhin enthalten, wird aber über kurz oder
+ lang entfallen.
+ - Neues Toolkit!
+ Unter dem Namespace ppl6::tk entsteht ein neues Toolkit, mit dem
+ Eingabeformulare gebaut werden können. Das Toolkit setzt auf der neuen
+ Grafik-Engine auf. Bisher sind die Elemente CEvent, CWindow, SubWindow,
+ CWidget, Button, Frame, Label, Input, CheckBox und RadioButton implementiert.
+ Das Input-Element verwendet die neuen Cronjob-Timer zum Darstellen eines
+ blinkenden Cursors (siehe unten).
+ - MySQL: Fehler "Error in my_thread_global_end(): x threads didn't exit"
+ behoben. Dazu musste im Threadspezifischen Speicher ein Flag gesetzt
+ werden, dass beim Beenden des Thread mysql_thread_end() aufgerufen
+ werden muss. Ausserdem wird nun bei jedem MySQL-Befehl geprüft, ob
+ mysql_thread_init() schon aufgerufen wurde.
+ - Thread-spezifische Datenstruktur wurde nach thread.h ausgelagert.
+ - neue Error-Funktionen:
+ - ExtendError(ppluint32 errorcode)
+ - void SetError(ppluint32 errorcode, CpplString *msg)
+ - Neue Funktion: CpplResource *GetPPLResource();
+ Liefert einen Pointer auf die einkompilierten Resourcen
+ - CTree wurde überarbeitet und funktioniert nun
+ - Neues Fileformat: PFP-File Version 3
+ - Neue Klassen zum Erstellen und Lesen von "PFP-File Version 3"-Dateien:
+ PFPFile, PFPChunk. Beide Klassen sind vollständig dokumentiert
+ - "ident" erkennt nun PFP-File Version 3 und liefert Code 36 zurück.
+ - Klassen umbenannt:
+ - CpplVar => CVar
+ - CpplInt => CInt
+ - CpplBool => CBool
+ - CpplString => CString
+ - CpplArray => CArray
+ Ausserdem ist CArray nun von CVar abgeleitet und ruft bei Änderungen die
+ Change-Funktion auf
+ - CpplAssocArray => CAssocArray
+ - CpplBinary => CBinary
+
+ Um kompatibel mit den alten Namen zu bleiben, gibt es für alle
+ Klassen ein "typedef" vom neuen auf den alten Namen.
+ - Neue Klasse CWString
+ Anders als bei der bisherigen String-Klasse werden die Strings hier als
+ Unicode Wide-Character (wchar_t) gespeichert. Unter Windows ist dieser
+ Datentyp 16 Bit breit, unter UNIX 32.
+ - Windows Port auf Visual Studio 2008
+ - Neue Klassen zur Timer-Steuerung: CCrontab und CCronjob
+
+Version 6.0.23 vom 26.10.2007 (CVS-Tag: REL_6_0_23)
+ - CpplFile
+ - Neue Funktion "OpenTemp" zum oeffnen einer Temporaeren Datei
+ mit einem Template als Filenamen. Nutzt die Funktion mkstemp
+ - "Delete": Die geoffnete Datei wird geschlossen und anschliessend
+ geloescht. Kann in Kombination mit OpenTemp verwendet werden.
+ - GetFileNo: Liefert das Filehandle des Betriebssystems zurück.
+ - CpplSocketMessage: Neue Protokollversion 2
+ - Mit der Member-Funktion "SetVersion" kann nun die Version 1 (default)
+ oder 2 ausgewählt werden. Die Version 2 hat einen 4-Byte längeren
+ Header, in dem nun eine CRC-Summe der Nutzdaten untergebracht wurde.
+ - In beiden Versionen wurde im Flags-Feld das Bit 1 hinzugefügt:
+ "Client supports ZLib". Dieses ist bei Nutzung der Funktion
+ CpplSocket::Write defaultmäßig immer gesetzt, kann aber mit der
+ Funktion CpplSocketMessage::DisableCompression abgeschaltet werden.
+ Die Daten werden dann nicht komprimiert.
+ - CpplThread: Interner Threadspezifischer Speicher funktioniert nun
+ auch unter WIN32
+ - CpplString: Wird vor inkludierung der Headerdatei ppl6.h die
+ Konstante WITH-QT definiert, werden Konstruktoren und Operatoren
+ für QT's QString Klasse eingebunden.
+ - Neue Funktion in CpplDBWrapper: int CpplDBWrapper::ReadKeyValue
+ Kann verwendet werden, um Key-Value-Paare aus einer Datenbank zu lesen
+ - In CpplAssocArray::CreateFromTemplate(CpplString *templ...) wurde nicht
+ überprüft, ob statt des Strings ein NULL-Pointer übergeben wurde
+ - CpplMail::SetSender prüft nun, ob der String einen Namen und Emailadresse
+ in spitzen Klammern enthält (z.B. "Mein Name "). Ist dies
+ der Fall, wird nur der Inhalt der spitzen Klammern verwendet.
+ - Klasse umbenannt: CpplList heisst nun CPointerList
+ - Neue Klasse "CList" zum Verwalten von Listenelementen, die von
+ der ebenfalls neuen Klasse CListItem abgeleitet sind.
+ - Dokumentation der Klassen CList und CListItem
+ - Neue Klasse "CTree" zum Verwalten von Elementen in einem AVL-Baum, die von
+ der ebenfalls neuen Klasse CTreeItem abgeleitet sind.
+ - Dokumentation der Klassen CTree und CTreeItem
+ - Bugfix in "CpplSocket::Read": Wurden mehr Bytes gesendet als erwartet, wurde
+ der Buffer überschrieben. Trat nicht bei SSL-Verschlüsselung auf.
+ - CpplThread exportiert jetzt Lock und Unlock-Funktion, die beim Auslesen
+ der Liste sinnvoll ist.
+ - CpplSocket::SSL_Connect: Wurde auf einen Server connected, der kein SSL
+ unterstützt bzw. das SSL-Handshake ignoriert, blieb der Connect minutenlang
+ bis zu einem Timeout hängen. Es wird nun der Timeout berücksichtigt, der mit
+ SetConnectTimeout gesetzt wurde.
+
+
+Version 6.0.22 vom 27.08.2007 (CVS-Tag: REL_6_0_22)
+ - CpplThread
+ - Bugfix: Beim Starten eines Threads unter UNIX wurden die Pthread-Attribute
+ nicht übergeben, wodurch eine zuvor veränderte Stackgröße keine Auswirkung
+ hatte
+ - Neue Funktion: ThreadIdle
+ Der Thread gibt seine CPU-Zeit an andere Threads ab
+ - GetThreadID liefert nun eine vom Betriebssystem unabhängige
+ Zahl zurück, die bei 0 anfängt und mit jedem weiteren Thread
+ hochgezählt wird.
+ - Interne Thread-Datenstruktur wird nun im threadspezifischen Speicher
+ des Betriebssystems abgelegt. Datenstruktur wurde um ThreadID,
+ aktuellen Fehler und Fehlerstack erweitert.
+ - Threadspezifische Fehler werden nun nicht mehr in einer internen verketteten
+ Liste gespeichert bzw. gesucht, sondern in einem threadspezifischen
+ Speicher, der beim Erstellen des Threads automatisch angelegt wird.
+ Insbesondere wenn mit vielen Threads gearbeitet wird, ist das wesentlich
+ performanter.
+ - Datenstruktur PPL_ERROR wurde verändert. Der char* errortxt wurde duch
+ die Klasse CpplString ersetzt. Falls die Struktur dynamisch erstellt wird,
+ sollte "new" statt "malloc" verwendet werden, bzw. "delete" statt "free".
+ - CpplSocket
+ - Funktion ReadOnce: Falls unter UNIX ein EAGAIN auftrat (z.B. im Non-Blocking
+ Modus), hat die Funktion fälschlicherweise true zurückgegeben. Es wird
+ nun false und der Fehlercode 277 zurückgegeben
+ - Fehlercodes bereinigt. Die Codes 279 und 306 sowie 277 und 309 hatten die
+ gleiche Bedeutung. Die Codes 306 und 309 wurden daher ersetzt. Programme,
+ die diese Codes abfragen, müssen angepasst werden!
+ - Function Connect gibt nun den Fehlercode 174 bei einem Timeout zurück.
+
+Version 6.0.21 vom 12.08.2007 (CVS-Tag: -)
+ - Experimentelle Unterstützung für MINGW
+ - Unterstützung für YASM Assembler unter UNIX und MINGW (Funktion GetCPUCaps)
+ - Library aufgesplittet in core, database, inet, inet-nossl, grafix, sound
+ und tk. Man kann nun entweder wie gewohnt die komplette Library einbinden
+ (-lppl) oder nur die Teile, die man wirklich braucht (-lppl6-core).
+ - Neue experimentelle Klasse "CID3Tag" zum setzen von ID3v1- und ID3v2-Tags
+ - Neue HexDump-Funktion mit Ausgabe in einen CpplString
+ - CpplString:
+ - Neue Funktion void HexDump(void *buffer, ppldd bytes, bool skipheader=false);
+ - Neue Transcode-Funktionen
+ - CpplSocket::WaitForMessage: Bei einem Protokollfehler wird nun
+ der komplette Header in die Fehlermeldung gedumped.
+ - CpplAssocArray:
+ - Mutex entfernt! Der Aufrufer ist für die Threadsicherheit verantwortlich!
+ - Bugfix bei Zahlen-Keys, maxint wird nun auch bei einem "0"-Key hochgezählt
+ - Neue Funktion "GetCurrentKey", liefert den zuletzt benutzen Key zurück
+ - Neue Funktionen zum Importieren von CpplDir-Klassen
+ - Neue Funktion "int Deletef(const char *fmt, ...);"
+ - Bugfix: Beim Anlegen des ersten Elements wurde der Next-Pointer
+ falsch initialisiert. Das führte zu Problemen beim Löschen.
+ - CpplDirEntry:
+ - Neue Funktionen "Is..." zum Prüfen der File-Attribute
+ - Neue Funktion "Copy" und Operator "="
+ - Klasse ist nun vollständig dokumentiert
+ - CpplDir:
+ - Klasse ist nun vollständig dokumentiert
+ - CpplThread:
+ - Die Funktionen ThreadSetPriority und ThreadGetPriority, sowie die
+ gleichnamigen Meber-Funktionen der Klasse CpplThread funktionieren nun
+ auch unter Unix mit Pthreads
+ - ThreadWaitSuspended benutzt nun die Wait-Funktion des Mutex
+ - CpplMutex: Neue Funktionen "Wait" und "Signal"
+ - CpplThreadPool:
+ - Neue Funktion ChangePriority
+ - CpplArray:
+ - Mutex und ThreadSafe-Funktionen entfernt. Hat in dieser
+ Klasse nichts zu suchen, der Anwender ist für die threadsichere
+ programmierung zuständig.
+ - CpplIconv
+ - Neuer Konstruktor: CpplIconv(const char *fromcode, const char *tocode);
+ - Bei Transcode-Funktion kann nun die Größe angegeben werden:
+ char *Transcode(const char *str, size_t size=0);
+ - Neue Funktionen um RECT/WINRECT-Strukturen von oder in einen String zu
+ konvertieren:
+ int StringToRect(CpplString *s, WINRECT *r);
+ int StringToRect(CpplString *s, RECT *r);
+ int RectToString(WINRECT *r, CpplString *s);
+ int RectToString(RECT *r, CpplString *s);
+ - configure:
+ - Erkennung für libpng in eigenes m4-File ausgelagert und verbessert, es
+ wird nun libpng-config verwendet
+ - Erkennung für libjpeg in eigenes m4-File ausgelagert
+ - Bugfixes
+
+
+Version 6.0.20 vom 31.05.2007 (CVS-Tag: REL_6_0_20)
+ - CpplMemSpace hat neue Funktion StrDup
+ - Neuimplementierung der AVLTree-Klasse, basierend auf der GNU
+ AVL-Library, Version 2.0.2a. CAVLTree ersetzt CpplAVLTree.
+ - AVLTree kann nun Delete, GetFirst, GetNext, GetLast, GetPrevious,
+ Current
+ - CpplAssocArray verwendet nun AVLTree zum Suchen und Sortieren.
+ Bei einer Liste mit 122820 Elementen, hat die Klasse zuvor ca. 21 Minuten
+ zum Einlesen gebraucht. Mit AVLTree dauert es nurnoch 3 Sekunden!
+ - CpplAssocArray: Neue Funktionen zum sortierten ausgeben und traversieren:
+ ListSorted, GetFirstSorted, GetNextSorted, GetLastSorted, GetPreviousSorted
+ - CpplString: LCase und UCase sind nun UTF-8 sicher
+ - Bugfix: CpplThreadPool::Count hat immer 0 zurückgegeben
+ - CpplString: Die Regular-Expression-Funktionen setzen nun automatisch
+ das Flag "PCRE_UTF8", wenn die Umgebung (setlocale) auf UTF-8 eingestellt
+ ist.
+ - Die PokeNxx und PeekNxx-Funktionen haben auf little endian Platformen
+ (Intel/AMD) nicht in Network-Byte-Order geschrieben. Dies ist ein
+ kritischer Bug, da sich dies u.a. auf die CpplSocketMessage-Klasse auswirkt,
+ die zur TCP/IP-Kommunikation verwendet wird. Alle Anwendungen, die darüber
+ miteinander kommunizieren und auf Intel-Platformen laufen, müssen neu
+ kompiliert werden!
+ - CpplAssocArray: Die Export-Funktion hat Poke verwendet, die Import-Funktion
+ aber PeekN. Beide Funktionen benutzen nun die Network-Byteorder-Funktionen.
+ - CpplAssocArray::ToTemplate erstellt jetzt mehrere Zeilen mit führendem Keywort,
+ wenn ein Value Zeilenumbrüche enthält.
+ - Fehler in getargv beseitigt. Die Abfrage nach einem mehrbuchstabigem Flag, das
+ am Ende der Parameter steht, wurde als Wert alles ab dem zweiten Buchstaben
+ zurückgegeben, ohne die Länge des Flags zu beachten.
+
+
+Version 6.0.19 vom 03.05.2007 (CVS-Tag: REL_6_0_19)
+ - LibIconv wird nun auch unter FreeBSD erkannt
+ - CpplIconv dokumentiert
+ - Neue Funktion CpplString::Transcode
+ - CpplApplication durch CApplication ersetzt, die keine
+ Grafikinitialisierung vornimmt, und daher nun auch in ppl6.h
+ definiert wird
+ - CpplLog::Terminate. Hat die gleichen Funktion wie der Aufruf des
+ Destruktors und Konstruktors -> Die Klasse wird in den Ausgangszustand
+ gebracht.
+ - Neue Socketklasse CUDPSocket zum Senden und Empfangen von UDP-Paketen
+ - GetHostByName und GetHostByAddr liefern nun mehr Daten zurück, u.a. eine
+ sockaddr-Struktur
+ - Fehler in CpplMemFile::Gets beseitigt, die Funktion verhält sich nun
+ so wie fgets.
+ - CpplFile-Klasse hat nun Popen-Funktion
+ - CpplMemory-Klasse als Basisklasse für alle anderen Klassen wurde
+ entfernt
+ - Mehrere Speicherzugriffsfehler und Memory-Leaks entfernt
+ - GenerateResourceHeader liest jetzt alle Sektionen einer Konfigurationsdatei
+ ein, unabhängig vom Namen.
+ - Bugfix in der Erkennung der lib-pcre im configure
+
+Version 6.0.18 vom 26.03.2007 (CVS-Tag: REL_6_0_18)
+ - Anpassung der Sybase-Datenbank-Erkennung im Configure auf
+ ASE 15.0
+ - Überprüfung aller Destruktoren, Sicherstellung, dass kein
+ Errorcode durch einen Destruktor überschrieben wird.
+ - Socket-Klasse kann nun beim Connect auf eine Remote-Addresse auf
+ einen lokalen Port gebunden werden (nur UNIX, Source-Port).
+ - Beim Aufruf von CpplSocket::Connect kann der Port jetzt auch als
+ Servicename statt als Nummer angegeben werden
+ - Neue Klasse CpplMail zum Verschicken von Mails
+ - CpplAssocArray hat Funktion um Array in Template zu speichern:
+ ToTemplate
+
+
+Version 6.0.17 vom 01.03.2007 (CVS-Tag: REL_6_0_17)
+ - Ein weiterer kritischer Bugfix in der Socket-Funktion Write.
+ Falls die Gegenstelle nicht bereit war Daten zu empfangen und
+ ein EAGAIN-Fehler trat auf, wurde dieser nicht abgefangen,
+ so dass Daten verloren gingen.
+
+
+Version 6.0.16 vom 28.02.2007 (CVS-Tag: REL_6_0_16)
+ - Neuer DatenTyp: CpplBinary
+ Zum Speichern von Binären Daten
+ - CpplAssocArray unterstützt CpplBinary
+ - Neue Fehlerfunktionen:
+ - SetErrorFromErrno: Setzt einen Fehler in Abhängigkeit der errno-
+ Variablen
+ - TranslateErrno: Übersetzt den Wert der errno-Variablen in einen
+ PPL Fehlercode
+ - Neue Funktionen: Chmod und FileAttr
+ - Bind-Funktion der CpplSocket-Klasse unterstützt nun unter Unix wieder
+ Wildcards als "host"-Parameter (NULL,"" oder "*"), um sich auf alle
+ Interfaces zu binden.
+ - Kritischer Bugfix in den Socket-Funktionen Read und Write. Bei
+ grossen Datenmengen, die in mehrere Pakete zerteilt werden, wurden
+ die Pointer auf die Buffer nicht hochgesetzt
+
+
+Version 6.0.15 vom 22.02.2007 (CVS-Tag: REL_6_0_15)
+ - CpplCurl überarbeitet: Threadsafe, alle Set...-Funktionen prüfen
+ Input-Parameter und geben Return-Wert zurück. POST-Methode wurde
+ erstmal entfernt, GET wurde hinzugefügt.
+ - CpplCurl wird nun immer eingebunden, liefert jedoch Fehlermeldungen
+ bei Aufruf, wenn libCurl nicht eingebunden ist.
+ - libcurl.m4-Macro aktualisiert
+ - Bugfix bei Erkennung des "-pthread"-Flags im Configure
+
+
+Version 6.0.14 vom 19.02.2007 (CVS-Tag: REL_6_0_14)
+ - Sortierfunktion in CpplDir funktioniert wieder und nutz nun
+ zur Beschleunigung AVL-Trees
+ - CpplDBSybase hat nun Ping-Kommando
+ - Bugfix in CpplThread: Beim starten des Threads wird nun das Stop-Flag
+ gelöscht
+ - Bugfix in CpplCompression::Uncompress
+ - Neues Tool "pplgenresource" zum Erstellen von Header-Dateien mit
+ PPL-Resourcen
+
+
+Version 6.0.13 vom 26.01.2007 (CVS-Tag: REL_6_0_13)
+ - Bugfix in CpplSocket: Beim Disconnect wurde der Filedescriptor nicht
+ auf 0 geprüft. Bei einem vorausgegangenen fehlgeschlagenen Connect
+ wurde dadurch STDIN geclosed
+ - Mehr Debug-Code in CpplSocket
+ - Neue Funktion Cppl6Core::MinVersion
+ - Verbesserte Erkennung von bzip2 im Configure
+ - Verbesserte Erkennung von pcre im Configure
+ - Verbesserung der 64-Bit Kompatibilität
+
+
+Version 6.0.12 vom 02.01.2007 (CVS-Tag: REL_6_0_12)
+ - CpplAVLTree zur Verwaltung von AVL-Baeumen, allerdings
+ funktioniert das Löschen nicht korrekt
+ - MySQL-Klasse: Schlaegt ein Query fehl, weil die Datenbank-Verbindung
+ zwischenzeitlich getrennt wurde, wird versucht sie wieder aufzubauen.
+ - Fonts und Grafikformat-Filter wurden in Unterverzeichnisse von
+ /src/grafix verschoben
+ - Font-Routinen aus PPL5 wurden provisorisch importiert
+ - Windows-Port
+ getaddrinfo steht unter Windows 2000 nicht zur Verfuegung, daher
+ wird fuer Bind, Listen, Connect der alte Code aus Version 6.0.9
+ verwendet.
+ - Adress-Resolver-Funktionen:
+ int GetHostByName(const char *name, CpplAssocArray *Result);
+ int GetHostByAddr(const char *addr, CpplAssocArray *Result);
+ - Neue Funktion: CpplDBWrapper::InsertKey
+ - Neue Funktion: Ini2Array
+ - Dokumentation mit Doxygen begonnen
+ - Timeout für Socket-Write-Funktionen
+ - Fehler in CpplDir::FindNext unter Unix behoben
+ - Fehler in CpplString[] bei Übergabe einer negativen Position behoben
+ - Neue Funktion "GenerateResourceHeader" zum generieren einer Headerdatei
+ mit Resourcen
+
+
+Version 6.0.11 vom 31.10.2006 (CVS-Tag: REL_6_0_11)
+ - Nonblocking Connect in Socket-Klasse unter UNIX. Wird vor dem
+ Connect die neue Funktion CpplSocket::SetConnectTimeout aufgerufen,
+ wird der Connect-Versuch nach der angegebenen Zeit abgebrochen
+ - CpplIconv hat neue Funktionen:
+ int TranscodeString(CpplString *str);
+ int TranscodeString(CpplString str);
+
+
+Version 6.0.10 vom 25.10.2006 (CVS-Tag: REL_6_0_10)
+ - CpplDBWrapper hat nun "Save"-Funktion
+ - PushError() und PopError() zum kurzzeitigen Retten eines Fehlers
+ - Release-Library hat nun keine Debugger-Symbole mehr unter UNIX und ist mit
+ -O3 optimiert
+ - CpplSocket::Bind und CpplSocket::Connect benutzen nun zur Hostaufloesung
+ getaddrinfo und unterstuetzen dadurch jetzt IPv6
+ - CpplSocket::Listen ermittelt die Remote-IP nun mit getnameinfo statt
+ inet_ntoa
+ - CpplSocketMessage als Container zur Datenübertragung mit der Socket-Klasse
+ - Neue Funktion um Datum im ISO 8601-Format zu generieren:
+ MkISO8601Date und MkTime
+ - CpplString wurde um MD5-Funktionen ergänzt
+ - Bugfixes in CpplSocket
+ - Bugfixes in CpplLog
+ - CpplSocket wurde um SSL-Funktionen erweitert und kann nun als SSL-Client
+ oder Server fungieren.
+ - Neue Klasse CpplSSL, die zur Initialisierung der SSL-Funktionen in der
+ Socket-Klasse benötigt wird.
+ - Alle Aufrufe von "localtime" wurden durch die Thread-sichere Variante
+ "localtime_r" ersetzt, sofern verfügbar.
+ - CpplError ist nun keine Klasse mehr, sondern eine Sammlung von globalen
+ Funktionen, die jetzt aber Threadsafe sind. Pro Thread wird ein Fehlercode
+ gespeichert. Alle PPL-Klassen wurden entsprechend angepasst.
+ - CpplAssocArray wurde komplett neugeschrieben und unterstuetzt nun
+ verschachtelte assoziative Arrays. Die Klasse enthaelt viele neue
+ Funktionen, ist aber kompatibel zur alten, sofern im Keywort kein Slash
+ "/" vorkommt.
+ - CpplFile::Fseek liefert nun true (1) zurueck, wenn erfolgreich, false (0)
+ wenn nicht. Vorher war es andersrum.
+ - CpplDBSybase: Neue Datenbankklasse fuer Sybase CT-Lib
+ - Neue Funktionen in den Array-Klassen
+ - CpplDir umgeschrieben, Files werden nun in CpplDirEntry gespeichert
+ - CpplMP3Encode::EncodeFile akzeptiert nun als Input auch eine CpplMP3Decode-
+ Klasse
+ - CpplThread::ThreadGetStackSize und CpplThread::ThreadSetStackSize
+ hinzugefuegt
+ - Erkennung fuer OpenSSL und --with-openssl Option im Configure
+ - MySQL und Postgres werden nun nurnoch erkannt, wenn ausdruecklich
+ --with-mysql bzw. --with-pgsql angegeben wurde
+ - Neues Verzeichnis "config" mit Autoconf-Macros
+ - Neue Funktionen in CpplDBWrapper:
+ - int Connect(CpplAssocArray *dbdata);
+ - PPL_DB_RESULT Exec(CpplString *query);
+ - int SelectDB(const char *databasename);
+ - int SelectDB(CpplString *databasename);
+ - ExecArrayAll, alle Ergebnisse des Results werden als verschachteltes
+ CpplAssocArray zurueckgegeben
+ - Zahlreiche Bugfixes und neue Funktionen
+
+
+Version 6.0.9 vom 07.06.2006 (CVS-Tag: REL_6_0_9)
+ - Neue Klasse CpplCallback
+ - CpplVar verwendet nun CpplCallback statt CpplNotify
+ - Neue Klasse CpplBool, abgeleitet von CpplVar
+ - CpplFile-Klasse merkt sich nun den Dateinamen. Dieser kann über
+ die neue Funktion "GetFilename" abgefragt werden. Sie liefert
+ "unknown", falls kein Filename vorhanden ist. Mit der Funktion
+ "SetFilename" kann der Dateiname manuell gesetzt werden.
+ - CpplResource::Get setzt nun den Namen der Resource innerhalb
+ des CpplFile-Handles vor der Rückgabe
+ - Suche nach Resourcen innerhalb von CpplResource wurde umstrukturiert
+ - CpplList hat nun einen ThreadSafe-Schalter
+ - Die Basisklasse "ppl6::Cppl6Core PPLCore" wird nicht mehr innerhalb
+ der Library definiert, da aus irgendwelchen Gründen der Konstruktor
+ nicht aufgerufen wird, bzw. die Klasse erst garnicht angelegt wird.
+ Die Klasse ist nun als Pointer definiert und optional. Ueber die
+ Funktion PPLInit() kann sie bei Bedarf angelegt und ueber PPLExit()
+ wieder geloescht werden.
+ - GrafikEngine für DirectX 9 unterstützt nun CreatePrimarySurface,
+ Destroy, Lock, Unlock, Flip und empfängt Nachrichten.
+ - ImageFilter überarbeitet. Load und Save liefern nun "true" oder
+ "false" zurück. Load- und Save-Funktion mit Filenamen ist nun
+ Teil der Basisklasse und wurde aus den abgeleiteten Klassen
+ entfernt.
+ - CpplGrafix intitialisiert nun die ImageFilter, eine alphatabelle
+ für Blt-Operationen und ermittelt die CPU-Caps.
+ - CpplGrafix unterstützt nun CreatePrimarySurface und
+ CreateSoftwareSurface.
+ - CpplGrafix unterstützt nun LoadImage in den Hauptspeicher.
+ - Neue Grafiken in den Resourcen
+ - CpplSurface unterstützt AlphaBlt-Funktionen, MMX optimiert (NASM
+ erforderlich)
+ - CpplSurface unterstützt BltDiffuse-Funktionen, MMX optimiert (NASM)
+ - Generisches Interface für Font-Renderer
+ - Freetype-Plugin
+ - CpplGrafix::LoadFont-Routinen
+ - Neue Klasse "CpplMemMan" zum Verwalten kleiner unterschiedlich
+ grosser Speicherblöcke. Wird von CpplFontCache verwendet.
+ - Neue Klasse "CpplIconv" zum Konvertieren von Text zwischen
+ unterschiedlichen Charsets
+ - Anpassungen der Konstruktoren-Definitionen fur GCC 4
+ - CpplTok hat nun Funktion "GetRest"
+ - CpplSocket hat neue Funktionen:
+ virtual int Write(CpplString *str);
+ virtual char *Read(int bytes);
+
+
+Version 6.0.8 vom 20.12.2005 (CVS-Tag: REL_6_0_8)
+ - CpplMemSpace aus PPL5 importiert
+ - Erkennung für X11 im configure-Script
+ - Zeitfunktionen aus functions.cpp sind nun in time.cpp
+ - Macros für Sleep-Funktionen entfernt
+ - Neue Sleep-Funktionen:
+ int USleep(ppluint64 microseconds);
+ int MSleep(ppluint64 milliseconds);
+ int SSleep(ppluint64 seconds);
+ - Code-Anpassungen für Visual C++ 8.0 (Visual Studio 2005)
+ - CpplCallback-Klasse
+
+Version 6.0.7 vom 09.11.2005 (CVS-Tag: REL_6_0_7)
+ - CpplString::Repeat-Funktionen hinzugefügt
+
+
+Version 6.0.6 vom 08.11.2005 (CVS-Tag: REL_6_0_6)
+
+ - Windows-Port an Änderungen aus 6.0.5 angeglichen
+ - Neue Kompatibilitätsfunktion: long long atoll(const char *nptr);
+ - IdentMPEG-Routine verbessert
+ - Bugfix in CpplLog-Klasse, in "Output" wurde faelschlicherweise
+ ein Mutex gelocked, der bereits von den aufrufenden Funktionen
+ gelocked wurde
+
+
+Version 6.0.5 vom 05.11.2005
+
+ - Configure prüft nun, ob flock oder fcntl vorhanden sind
+ - Locking-Funktionen von CpplFile verwenden nun primär fcntl.
+ Falls weder fcntl noch flock vorhanden sind, liefern die
+ Funktionen eine Fehlermeldung.
+ - Der GMT-Offset in der Structure "tm" ist nicht auf allen
+ Betriebssystemen vorhanden. Daher entsprechende Prüfung im
+ configure ergänzt
+ - CpplMutex und CpplThread beachten nun die Definition
+ HAVE_PTHREADS aus dem configure
+
+
+Version 6.0.4 vom 04.11.2005
+
+ - CpplInt-Klasse hinzugefügt
+ - CpplLog- und CpplDebug-Klasse überarbeitet
+ - Locking-Mechanismus fuer File-Klasse
+ - GetTime liefert nun weitere Informationen in der PPLTIME-Structure
+ zurueck
+ - Fehlende m4-Macros ergänzt
+
+
+Version 6.0.3 vom 17.10.2005
+
+ - Erkennung von libpcre im configure-Script
+ - CpplString beruecksichtigt libpcre-Erkennung
+ - Erkennung von fpos_t im configure-Script
+ - Neue Klasse CpplTimer
+
+
+Version 6.0.2 vom 24.09.2005
+
+ - Zwei crc32-Funktionen zum Berechnen von Checksummen hinzugefügt. Die
+ erste dient der Berechnung eines Strings, die zweite der eines bliebig
+ großen Buffers.
+ - GrafikEngine ist nun als Klasse definiert
+ - PPL_SURFACE ist nun in ppl6-grafix.h definiert und somit auch fuer
+ Clients zugaenglich
+ - ident-Funktionen aus PPL5 importiert
+ - Klasse CpplLang aus PPL5 importiert
+ - Klasse CpplDir aus PPL5 importiert
+ - Neue Klasse CpplString begonnen
+ - CpplFile::Gets und Open unterstuetzen String-Klasse
+ - Neue Funktionen MkDir, CopyFile, MoveFile, RenameFile, TouchFile,
+ DeleteFile, WriteFile und GetTime
+ - Port zu FreeBSD, Port zu WIN32, Port zu Solaris 9 Ultra Sparc III
+ - Bugfix CpplSocket: Fehlercodes wurden korrigiert und neuvergeben
+ - Bugfix CpplSocket: Interne Funktion inet_aton (WIN32) hatte keine
+ Fehlerprüfung
+ - Bugfix CpplSocket WIN32: Intitialisierung mit WSAStartup beim
+ Erstellen der ersten Instanz
+
+
+Version 6.0.1 vom 01.05.2005
+
+ - Datenbank-Schnittstellen aus PPL5 importiert und ueberarbeitet,
+ MySQL ist nun Threadsicher und Result ist nun vom Typ void* statt ppldd.
+ Die ExecEx-Funktion wurde abgeschafft, Exec übernimmt deren Funktion.
+ - Erkennung fuer MySQL und PostgreSQL im configure-Script hinzugefuegt
+ - Erkennung von lame und libmad im configure-Script
+ - ppl6-config Konfigurationsscript, zur Verwendung in anderen
+ Programmen
+ - Neue Klasse CpplHeap, zur Verwaltung von gleichgroßen Speicherblöcken,
+ die häufig allokiert und wieder freigegeben werden.
+ - CpplLog ist jetzt Basisklasse fuer CpplDebug und enthaelt
+ ein differenzierteres Logging-Modell. Eventuell wird CpplLog aber
+ nochmal ueberarbeitet.
+ - CpplArray hat jetzt "Reset" und "GetNext"
+ - CpplArray hat jetzt die von Perl abgeleiteten Funktionen Push, Pop,
+ Shift und Unshift
+ - CpplArray ist nun optional auch Threadsafe
+ - Neue Klasse CpplMP3Decode, zum Dekodieren von MP3-Files. Nutzt
+ libmad
+ - CpplMP3Encode aus PPL5 importiert
+ - CpplMP3Encode: Statt einem kompletten File kann nun auch ein bleibig
+ großer Buffer komprimiert werden
+ - CpplMP3Encode: Erstellen von MP3-Dateien mit variabler Bitrate
+ - CpplResource: Verwaltung von PPL6-Resourcen
+ - tools/mkresource zur Erstellung einer Include-Datei mit Resourcen
+
+ - Begonnen die Grafik-Funktionen aus PPL5 zu übernehmen:
+ - Surface Backup
+ - Primitives
+ - Colors
+ - Image-Filter
+ - ImageObject
+ - CpplGrafix::CreatePrimarySurface
+ - Merge aus 5.1.5:
+ - Neue Funktionen in CpplAssocArray:
+ - Add unterstuetzt nun einen optionalen dritten Parameter "size",
+ der angibt, wieviele Bytes aus "value" ins Array kopiert werden
+ sollen
+ - Neue Funktion Concat, mit der man Werte mit gleichem Key mit
+ einem beliebigen Trennzeichen zusammenhaengen kann
+
+
+Version 6.0.0 vom 27.03.2005
+
+PPL6 basiert auf PPL 5.1.2 vom 15.01.2005 ohne Grafik-Klassen.
+Uebernommen wurden alle Funktionen und folgende Klassen:
+ - CpplError
+ - CpplTok
+ - CpplFile
+ - CpplMemFile
+ - CpplDebug
+ - CpplAssocArray
+ - CpplConfig
+ - CpplList
+ - CpplCurl
+ - CpplNotifyHandler
+
+Aenderungen:
+
+ - Namespace ist nun "ppl6"
+ - Suffix "ppl_" bei allen Funktionen entfernt
+ - Neue Klasse Cppl6Core, die als globale Variable PPLCore
+ immer verfügbar ist. Sie enthält neben Versions-Abfrage,
+ Memory-Verwaltung auch die globale Debug-Klasse CpplDebug.
+ Aus Kompatibilitätsgründen bleibt die global Klasse PPLDebug
+ erhalten, ist aber ein Alias auf Cppl6Core.
+ - CpplFile: Alle Filepointer sind jetzt 64 Bit, wodurch nun
+ Dateien > 4 GB unterstützt werden
+ - MD5-Funktionen werden nun immer im Namespace ppl6
+ einkompiliert
+ - Funktionen ppl_sinus und ppl_cosinus umbenannt in sinus1024
+ und cosinus1024
+ - Kompressionsfunktionen sind nun in der Klasse CpplCompression
+ zusammengefasst
+ - ThreadKlasse CpplThread wurde runderneuert und dient jetzt als
+ Basisklasse für alle Threads
+ - Neue Klasse CpplThreadPool zum logischen Zusammenfassen von
+ Threads
+ - Standard configure-Script unter Unix, erstellt mit autoconf
+
+ - Merge aus 5.1.3:
+ - Neue Klasse CpplArray zur Verwaltung von Arrays
+ - Neue Klasse CpplMutex als Wrapper für "CriticalSections"
+ unter Windows, bzw. "pthread_mutex" unter Unix.
+
+ - Merge aus 5.1.4:
+ - Neue compat-Funktionen strndup und strncmp aus PPL 5.1.4
+ - Bug in ppl_trim beseitigt, der auftrat, wenn am Anfang der Zeile
+ Spaces geloescht wurden
+ - CpplTok verwendet nun CpplArray zum Speichern der Tokens.
+ - Mit CpplTok::Get kann nun gezielt auf bestimmte Spalten des Ergebnisses
+ zugegriffen werden.
+ - CpplFile::Puts und CpplMemFile::Puts nutzen nun vasprintf
+ - Umstellung von ppldd von unsigned long auf unsigned int
+ - Neue Klasse CpplSocket fuer TCP-Connects, inklusive Windows-Port
+ aus 5.1.5
+
+ - Merge aus 5.1.5:
+ - Bugfix in CpplDebug bezueglich der Buffergroessen. Es gibt jetzt
+ keine Limitierungen mehr fuer die Laenge der Daten (vorher 1024
+ Bytes);
+
+*/
diff --git a/src/pplib/LICENSE.TXT b/src/pplib/LICENSE.TXT
new file mode 100644
index 0000000..f0b5821
--- /dev/null
+++ b/src/pplib/LICENSE.TXT
@@ -0,0 +1,22 @@
+Copyright (c) 2019, Patrick Fedick
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/pplib/Makefile.in b/src/pplib/Makefile.in
new file mode 100644
index 0000000..810061f
--- /dev/null
+++ b/src/pplib/Makefile.in
@@ -0,0 +1,2702 @@
+###############################################################################
+###
+### PPL7 Makefile
+###
+###############################################################################
+# This file is part of "Patrick's Programming Library", Version 7 (PPL7).
+# Web: http://www.pfp.de/ppl/
+#
+# $Author: pafe $
+# $Revision: 588 $
+# $Date: 2013-04-26 20:47:43 +0200 (Fr, 26 Apr 2013) $
+# $Id: Makefile.in 588 2013-04-26 18:47:43Z pafe $
+#
+###############################################################################
+#
+# Copyright (c) 2013, Patrick Fedick
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###############################################################################
+### Global Options
+###############################################################################
+srcdir = @srcdir@/src
+VPATH = @srcdir@
+incdir = @srcdir@/include
+
+prefix ?= @prefix@
+exec_prefix = @exec_prefix@
+TARGETLIB ?= @libdir@
+TARGETBIN ?= @bindir@
+TARGETINCLUDE ?= @includedir@
+CC = @CC@
+CXX = @CXX@
+CFLAGS = -I${incdir} -DPPL7LIB @CFLAGS@ @DEFS@ @PTHREAD_CFLAGS@ @ZLIB_CFLAGS@ @BZ2_CFLAGS@ @PCRE_CFLAGS@ @OPENSSL_INCLUDES@ @ICONV_CFLAGS@ @MYSQL_CFLAGS@ @POSTGRESQL_CFLAGS@ @SQLITE3_CFLAGS@ @LAME_CFLAGS@ @MPG123_CFLAGS@ @LIBMICROHTTPD_CFLAGS@ @LIBCDIO_CFLAGS@ @SDL2_CFLAGS@ @LIBIDN_CFLAGS@ @LIBCURL_CPPFLAGS@ @LIBMCRYPT_CFLAGS@ @FT2_CFLAGS@ @LIBLDNS_CFLAGS@ @IMLIB_CFLAGS@
+
+
+### @X_CFLAGS@ @SYBASE_CFLAGS@ @MAD_CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @OPENSSL_LDFLAGS@ @OPENSSL_LIBS@ @LIBS@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ @ZLIB_LIBS@ @BZ2_LIBS@ @PCRE_LIBS@ @IMLIB_LIBS@ @FT2_LIBS@ @ICONV_LIBS@ @MYSQL_LDFLAGS@ @POSTGRESQL_LDFLAGS@ @SQLITE3_LDFLAGS@ @LAME_LIBS@ @LIBMCRYPT_LIBS@ @LIBLDNS_LIBS@ @MPG123_LIBS@ @SDL2_LIBS@ @LIBCURL@ @LIBCDIO_LDFLAGS@ @LIBMICROHTTPD_LIBS@ @LIBIDN_LIBS@
+
+### @SYBASE_LIBS@ @MAD_LIBS@
+LIBNAME = libppl7
+LIBDEBUG = libppl7-debug
+DISTNAME = ppl
+ASM = @ASM@ @ASMFLAGS@
+ASMDEBUGFLAGS = @ASMDEBUGFLAGS@
+
+###########################################################################
+### Object Files RELEASE
+###########################################################################
+
+RELEASE = release/core_AVLTree.o \
+ release/core_Compat.o \
+ release/core_Compression.o \
+ release/core_ConfigParser.o \
+ release/core_cpu.o \
+ release/core_Dir.o \
+ release/core_DirEntry.o \
+ release/core_Exceptions.o \
+ release/core_File.o \
+ release/core_FileObject.o \
+ release/core_Functions.o \
+ release/core_GzFile.o \
+ release/core_Iconv.o \
+ release/core_Json.o \
+ release/core_Logger.o \
+ release/core_MemFile.o \
+ release/core_MemoryGroup.o \
+ release/core_MemoryHeap.o \
+ release/core_Mutex.o \
+ release/core_PerlHelper.o \
+ release/core_PFPFile.o \
+ release/core_PythonHelper.o \
+ release/core_Resource.o \
+ release/core_Resourcen.o \
+ release/core_Signal.o \
+ release/core_StringFunctions.o \
+ release/core_ThreadPool.o \
+ release/core_Threads.o \
+ release/core_Time.o \
+ release/type_Array.o \
+ release/type_AssocArray.o \
+ release/type_ByteArray.o \
+ release/type_ByteArrayPtr.o \
+ release/type_DateTime.o \
+ release/type_Pointer.o \
+ release/type_String.o \
+ release/type_Variant.o \
+ release/type_WideString.o \
+ release/math_ca.o \
+ release/math_crc32.o \
+ release/math_md5.o \
+ release/math_random.o release/crypto_Crypt.o \
+ release/crypto_Digest.o \
+ release/crypto_MCrypt.o release/inet_curl.o \
+ release/inet_inet_functions.o \
+ release/inet_ipaddress.o \
+ release/inet_ipnetwork.o \
+ release/inet_openssl.o \
+ release/inet_resolver.o \
+ release/inet_sockaddr.o \
+ release/inet_SocketMessage.o \
+ release/inet_TCPSocket.o \
+ release/inet_UDPSocket.o \
+ release/inet_Webserver.o \
+ release/inet_WikiParser.o release/db_Database.o \
+ release/db_DBPool.o \
+ release/db_DBPoolOfPools.o \
+ release/db_MySQL.o \
+ release/db_PostgreSQL.o \
+ release/db_ResultSet.o \
+ release/db_Sqlite3.o release/gfx_Color.o \
+ release/gfx_DrawableBlit.o \
+ release/gfx_DrawableColor.o \
+ release/gfx_Drawable.o \
+ release/gfx_DrawableLines.o \
+ release/gfx_DrawablePixel.o \
+ release/gfx_DrawableShapes.o \
+ release/gfx_Font4.o \
+ release/gfx_Font5.o \
+ release/gfx_Font6.o \
+ release/gfx_FontFreeType.o \
+ release/gfx_Fonts.o \
+ release/gfx_Grafix.o \
+ release/gfx_Image.o \
+ release/gfx_ImageFilter_BMP.o \
+ release/gfx_ImageFilter.o \
+ release/gfx_ImageFilter_GIF.o \
+ release/gfx_ImageFilter_ImageMagick.o \
+ release/gfx_ImageFilter_JPEG.o \
+ release/gfx_ImageFilter_PNG.o \
+ release/gfx_ImageFilter_PPM.o \
+ release/gfx_ImageFilter_TGA.o \
+ release/gfx_ImageFilter_TIFF.o \
+ release/gfx_ImageList.o \
+ release/gfx_Point3D.o \
+ release/gfx_Point.o \
+ release/gfx_Rect.o \
+ release/gfx_RGBFormat.o \
+ release/gfx_Size.o \
+ release/gfx_Sprite.o release/tk_Button.o \
+ release/tk_Divider.o \
+ release/tk_Event.o \
+ release/tk_Frame.o \
+ release/tk_Label.o \
+ release/tk_Layout.o \
+ release/tk_LineInput.o \
+ release/tk_Surface.o \
+ release/tk_Widget.o \
+ release/tk_Window.o \
+ release/tk_WindowManager.o \
+ release/tk_WindowManager_SDL2.o release/audio_AudioCD.o \
+ release/audio_AudioDecoder_Aiff.o \
+ release/audio_AudioDecoder_MP3.o \
+ release/audio_AudioDecoder_Ogg.o \
+ release/audio_AudioDecoder_Wave.o \
+ release/audio_AudioEncoder_Aiff.o \
+ release/audio_AudioEncoder_MP3.o \
+ release/audio_AudioEncoder_Ogg.o \
+ release/audio_AudioEncoder_Wave.o \
+ release/audio_AudioInfo.o \
+ release/audio_Cddb.o \
+ release/audio_Icecast.o \
+ release/audio_ID3Tag.o \
+ release/audio_Mp3.o
+
+CORE_RELEASE = release/core_AVLTree.o \
+ release/core_Compat.o \
+ release/core_Compression.o \
+ release/core_ConfigParser.o \
+ release/core_cpu.o \
+ release/core_Dir.o \
+ release/core_DirEntry.o \
+ release/core_Exceptions.o \
+ release/core_File.o \
+ release/core_FileObject.o \
+ release/core_Functions.o \
+ release/core_GzFile.o \
+ release/core_Iconv.o \
+ release/core_Json.o \
+ release/core_Logger.o \
+ release/core_MemFile.o \
+ release/core_MemoryGroup.o \
+ release/core_MemoryHeap.o \
+ release/core_Mutex.o \
+ release/core_PerlHelper.o \
+ release/core_PFPFile.o \
+ release/core_PythonHelper.o \
+ release/core_Resource.o \
+ release/core_Resourcen.o \
+ release/core_Signal.o \
+ release/core_StringFunctions.o \
+ release/core_ThreadPool.o \
+ release/core_Threads.o \
+ release/core_Time.o \
+ release/type_Array.o \
+ release/type_AssocArray.o \
+ release/type_ByteArray.o \
+ release/type_ByteArrayPtr.o \
+ release/type_DateTime.o \
+ release/type_Pointer.o \
+ release/type_String.o \
+ release/type_Variant.o \
+ release/type_WideString.o \
+ release/math_ca.o \
+ release/math_crc32.o \
+ release/math_md5.o \
+ release/math_random.o
+
+CRYPTO_RELEASE = release/crypto_Crypt.o \
+ release/crypto_Digest.o \
+ release/crypto_MCrypt.o
+
+INET_RELEASE = release/inet_curl.o \
+ release/inet_inet_functions.o \
+ release/inet_ipaddress.o \
+ release/inet_ipnetwork.o \
+ release/inet_openssl.o \
+ release/inet_resolver.o \
+ release/inet_sockaddr.o \
+ release/inet_SocketMessage.o \
+ release/inet_TCPSocket.o \
+ release/inet_UDPSocket.o \
+ release/inet_Webserver.o \
+ release/inet_WikiParser.o
+
+DB_RELEASE = release/db_Database.o \
+ release/db_DBPool.o \
+ release/db_DBPoolOfPools.o \
+ release/db_MySQL.o \
+ release/db_PostgreSQL.o \
+ release/db_ResultSet.o \
+ release/db_Sqlite3.o
+
+GFX_RELEASE = release/gfx_Color.o \
+ release/gfx_DrawableBlit.o \
+ release/gfx_DrawableColor.o \
+ release/gfx_Drawable.o \
+ release/gfx_DrawableLines.o \
+ release/gfx_DrawablePixel.o \
+ release/gfx_DrawableShapes.o \
+ release/gfx_Font4.o \
+ release/gfx_Font5.o \
+ release/gfx_Font6.o \
+ release/gfx_FontFreeType.o \
+ release/gfx_Fonts.o \
+ release/gfx_Grafix.o \
+ release/gfx_Image.o \
+ release/gfx_ImageFilter_BMP.o \
+ release/gfx_ImageFilter.o \
+ release/gfx_ImageFilter_GIF.o \
+ release/gfx_ImageFilter_ImageMagick.o \
+ release/gfx_ImageFilter_JPEG.o \
+ release/gfx_ImageFilter_PNG.o \
+ release/gfx_ImageFilter_PPM.o \
+ release/gfx_ImageFilter_TGA.o \
+ release/gfx_ImageFilter_TIFF.o \
+ release/gfx_ImageList.o \
+ release/gfx_Point3D.o \
+ release/gfx_Point.o \
+ release/gfx_Rect.o \
+ release/gfx_RGBFormat.o \
+ release/gfx_Size.o \
+ release/gfx_Sprite.o
+
+TK_RELEASE = release/tk_Button.o \
+ release/tk_Divider.o \
+ release/tk_Event.o \
+ release/tk_Frame.o \
+ release/tk_Label.o \
+ release/tk_Layout.o \
+ release/tk_LineInput.o \
+ release/tk_Surface.o \
+ release/tk_Widget.o \
+ release/tk_Window.o \
+ release/tk_WindowManager.o \
+ release/tk_WindowManager_SDL2.o
+
+AUDIO_RELEASE = release/audio_AudioCD.o \
+ release/audio_AudioDecoder_Aiff.o \
+ release/audio_AudioDecoder_MP3.o \
+ release/audio_AudioDecoder_Ogg.o \
+ release/audio_AudioDecoder_Wave.o \
+ release/audio_AudioEncoder_Aiff.o \
+ release/audio_AudioEncoder_MP3.o \
+ release/audio_AudioEncoder_Ogg.o \
+ release/audio_AudioEncoder_Wave.o \
+ release/audio_AudioInfo.o \
+ release/audio_Cddb.o \
+ release/audio_Icecast.o \
+ release/audio_ID3Tag.o \
+ release/audio_Mp3.o
+
+ASM_OBJ_RELEASE = release/asm_blt.o \
+ release/asm_blt_blend.o \
+ release/asm_chromakey.o \
+ release/asm_colors.o \
+ release/asm_common.o \
+ release/asm_cpu.o \
+ release/asm_fonts.o \
+ release/asm_pixel.o \
+ release/asm_rect.o
+
+###########################################################################
+### Object Files DEBUG
+###########################################################################
+
+DEBUG = debug/core_AVLTree.o \
+ debug/core_Compat.o \
+ debug/core_Compression.o \
+ debug/core_ConfigParser.o \
+ debug/core_cpu.o \
+ debug/core_Dir.o \
+ debug/core_DirEntry.o \
+ debug/core_Exceptions.o \
+ debug/core_File.o \
+ debug/core_FileObject.o \
+ debug/core_Functions.o \
+ debug/core_GzFile.o \
+ debug/core_Iconv.o \
+ debug/core_Json.o \
+ debug/core_Logger.o \
+ debug/core_MemFile.o \
+ debug/core_MemoryGroup.o \
+ debug/core_MemoryHeap.o \
+ debug/core_Mutex.o \
+ debug/core_PerlHelper.o \
+ debug/core_PFPFile.o \
+ debug/core_PythonHelper.o \
+ debug/core_Resource.o \
+ debug/core_Resourcen.o \
+ debug/core_Signal.o \
+ debug/core_StringFunctions.o \
+ debug/core_ThreadPool.o \
+ debug/core_Threads.o \
+ debug/core_Time.o \
+ debug/type_Array.o \
+ debug/type_AssocArray.o \
+ debug/type_ByteArray.o \
+ debug/type_ByteArrayPtr.o \
+ debug/type_DateTime.o \
+ debug/type_Pointer.o \
+ debug/type_String.o \
+ debug/type_Variant.o \
+ debug/type_WideString.o \
+ debug/math_ca.o \
+ debug/math_crc32.o \
+ debug/math_md5.o \
+ debug/math_random.o debug/crypto_Crypt.o \
+ debug/crypto_Digest.o \
+ debug/crypto_MCrypt.o debug/inet_curl.o \
+ debug/inet_inet_functions.o \
+ debug/inet_ipaddress.o \
+ debug/inet_ipnetwork.o \
+ debug/inet_openssl.o \
+ debug/inet_resolver.o \
+ debug/inet_sockaddr.o \
+ debug/inet_SocketMessage.o \
+ debug/inet_TCPSocket.o \
+ debug/inet_UDPSocket.o \
+ debug/inet_Webserver.o \
+ debug/inet_WikiParser.o debug/db_Database.o \
+ debug/db_DBPool.o \
+ debug/db_DBPoolOfPools.o \
+ debug/db_MySQL.o \
+ debug/db_PostgreSQL.o \
+ debug/db_ResultSet.o \
+ debug/db_Sqlite3.o debug/gfx_Color.o \
+ debug/gfx_DrawableBlit.o \
+ debug/gfx_DrawableColor.o \
+ debug/gfx_Drawable.o \
+ debug/gfx_DrawableLines.o \
+ debug/gfx_DrawablePixel.o \
+ debug/gfx_DrawableShapes.o \
+ debug/gfx_Font4.o \
+ debug/gfx_Font5.o \
+ debug/gfx_Font6.o \
+ debug/gfx_FontFreeType.o \
+ debug/gfx_Fonts.o \
+ debug/gfx_Grafix.o \
+ debug/gfx_Image.o \
+ debug/gfx_ImageFilter_BMP.o \
+ debug/gfx_ImageFilter.o \
+ debug/gfx_ImageFilter_GIF.o \
+ debug/gfx_ImageFilter_ImageMagick.o \
+ debug/gfx_ImageFilter_JPEG.o \
+ debug/gfx_ImageFilter_PNG.o \
+ debug/gfx_ImageFilter_PPM.o \
+ debug/gfx_ImageFilter_TGA.o \
+ debug/gfx_ImageFilter_TIFF.o \
+ debug/gfx_ImageList.o \
+ debug/gfx_Point3D.o \
+ debug/gfx_Point.o \
+ debug/gfx_Rect.o \
+ debug/gfx_RGBFormat.o \
+ debug/gfx_Size.o \
+ debug/gfx_Sprite.o debug/tk_Button.o \
+ debug/tk_Divider.o \
+ debug/tk_Event.o \
+ debug/tk_Frame.o \
+ debug/tk_Label.o \
+ debug/tk_Layout.o \
+ debug/tk_LineInput.o \
+ debug/tk_Surface.o \
+ debug/tk_Widget.o \
+ debug/tk_Window.o \
+ debug/tk_WindowManager.o \
+ debug/tk_WindowManager_SDL2.o debug/audio_AudioCD.o \
+ debug/audio_AudioDecoder_Aiff.o \
+ debug/audio_AudioDecoder_MP3.o \
+ debug/audio_AudioDecoder_Ogg.o \
+ debug/audio_AudioDecoder_Wave.o \
+ debug/audio_AudioEncoder_Aiff.o \
+ debug/audio_AudioEncoder_MP3.o \
+ debug/audio_AudioEncoder_Ogg.o \
+ debug/audio_AudioEncoder_Wave.o \
+ debug/audio_AudioInfo.o \
+ debug/audio_Cddb.o \
+ debug/audio_Icecast.o \
+ debug/audio_ID3Tag.o \
+ debug/audio_Mp3.o
+
+ASM_OBJ_DEBUG = debug/asm_blt.o \
+ debug/asm_blt_blend.o \
+ debug/asm_chromakey.o \
+ debug/asm_colors.o \
+ debug/asm_common.o \
+ debug/asm_cpu.o \
+ debug/asm_fonts.o \
+ debug/asm_pixel.o \
+ debug/asm_rect.o
+
+
+###########################################################################
+### Object Files COVERAGE
+###########################################################################
+
+COVERAGE = coverage/core_AVLTree.o \
+ coverage/core_Compat.o \
+ coverage/core_Compression.o \
+ coverage/core_ConfigParser.o \
+ coverage/core_cpu.o \
+ coverage/core_Dir.o \
+ coverage/core_DirEntry.o \
+ coverage/core_Exceptions.o \
+ coverage/core_File.o \
+ coverage/core_FileObject.o \
+ coverage/core_Functions.o \
+ coverage/core_GzFile.o \
+ coverage/core_Iconv.o \
+ coverage/core_Json.o \
+ coverage/core_Logger.o \
+ coverage/core_MemFile.o \
+ coverage/core_MemoryGroup.o \
+ coverage/core_MemoryHeap.o \
+ coverage/core_Mutex.o \
+ coverage/core_PerlHelper.o \
+ coverage/core_PFPFile.o \
+ coverage/core_PythonHelper.o \
+ coverage/core_Resource.o \
+ coverage/core_Resourcen.o \
+ coverage/core_Signal.o \
+ coverage/core_StringFunctions.o \
+ coverage/core_ThreadPool.o \
+ coverage/core_Threads.o \
+ coverage/core_Time.o \
+ coverage/type_Array.o \
+ coverage/type_AssocArray.o \
+ coverage/type_ByteArray.o \
+ coverage/type_ByteArrayPtr.o \
+ coverage/type_DateTime.o \
+ coverage/type_Pointer.o \
+ coverage/type_String.o \
+ coverage/type_Variant.o \
+ coverage/type_WideString.o \
+ coverage/math_ca.o \
+ coverage/math_crc32.o \
+ coverage/math_md5.o \
+ coverage/math_random.o coverage/crypto_Crypt.o \
+ coverage/crypto_Digest.o \
+ coverage/crypto_MCrypt.o coverage/inet_curl.o \
+ coverage/inet_inet_functions.o \
+ coverage/inet_ipaddress.o \
+ coverage/inet_ipnetwork.o \
+ coverage/inet_openssl.o \
+ coverage/inet_resolver.o \
+ coverage/inet_sockaddr.o \
+ coverage/inet_SocketMessage.o \
+ coverage/inet_TCPSocket.o \
+ coverage/inet_UDPSocket.o \
+ coverage/inet_Webserver.o \
+ coverage/inet_WikiParser.o coverage/db_Database.o \
+ coverage/db_DBPool.o \
+ coverage/db_DBPoolOfPools.o \
+ coverage/db_MySQL.o \
+ coverage/db_PostgreSQL.o \
+ coverage/db_ResultSet.o \
+ coverage/db_Sqlite3.o coverage/gfx_Color.o \
+ coverage/gfx_DrawableBlit.o \
+ coverage/gfx_DrawableColor.o \
+ coverage/gfx_Drawable.o \
+ coverage/gfx_DrawableLines.o \
+ coverage/gfx_DrawablePixel.o \
+ coverage/gfx_DrawableShapes.o \
+ coverage/gfx_Font4.o \
+ coverage/gfx_Font5.o \
+ coverage/gfx_Font6.o \
+ coverage/gfx_FontFreeType.o \
+ coverage/gfx_Fonts.o \
+ coverage/gfx_Grafix.o \
+ coverage/gfx_Image.o \
+ coverage/gfx_ImageFilter_BMP.o \
+ coverage/gfx_ImageFilter.o \
+ coverage/gfx_ImageFilter_GIF.o \
+ coverage/gfx_ImageFilter_ImageMagick.o \
+ coverage/gfx_ImageFilter_JPEG.o \
+ coverage/gfx_ImageFilter_PNG.o \
+ coverage/gfx_ImageFilter_PPM.o \
+ coverage/gfx_ImageFilter_TGA.o \
+ coverage/gfx_ImageFilter_TIFF.o \
+ coverage/gfx_ImageList.o \
+ coverage/gfx_Point3D.o \
+ coverage/gfx_Point.o \
+ coverage/gfx_Rect.o \
+ coverage/gfx_RGBFormat.o \
+ coverage/gfx_Size.o \
+ coverage/gfx_Sprite.o coverage/tk_Button.o \
+ coverage/tk_Divider.o \
+ coverage/tk_Event.o \
+ coverage/tk_Frame.o \
+ coverage/tk_Label.o \
+ coverage/tk_Layout.o \
+ coverage/tk_LineInput.o \
+ coverage/tk_Surface.o \
+ coverage/tk_Widget.o \
+ coverage/tk_Window.o \
+ coverage/tk_WindowManager.o \
+ coverage/tk_WindowManager_SDL2.o coverage/audio_AudioCD.o \
+ coverage/audio_AudioDecoder_Aiff.o \
+ coverage/audio_AudioDecoder_MP3.o \
+ coverage/audio_AudioDecoder_Ogg.o \
+ coverage/audio_AudioDecoder_Wave.o \
+ coverage/audio_AudioEncoder_Aiff.o \
+ coverage/audio_AudioEncoder_MP3.o \
+ coverage/audio_AudioEncoder_Ogg.o \
+ coverage/audio_AudioEncoder_Wave.o \
+ coverage/audio_AudioInfo.o \
+ coverage/audio_Cddb.o \
+ coverage/audio_Icecast.o \
+ coverage/audio_ID3Tag.o \
+ coverage/audio_Mp3.o
+
+ASM_OBJ_COVERAGE = coverage/asm_blt.o \
+ coverage/asm_blt_blend.o \
+ coverage/asm_chromakey.o \
+ coverage/asm_colors.o \
+ coverage/asm_common.o \
+ coverage/asm_cpu.o \
+ coverage/asm_fonts.o \
+ coverage/asm_pixel.o \
+ coverage/asm_rect.o
+
+@HAVE_X86_ASSEMBLER@
+
+###########################################################################
+### Targets
+###########################################################################
+
+
+release: release/$(LIBNAME).a release/$(LIBNAME)-core.a release/$(LIBNAME)-crypto.a release/$(LIBNAME)-inet.a release/$(LIBNAME)-db.a release/$(LIBNAME)-gfx.a release/$(LIBNAME)-tk.a debug/make release/$(LIBNAME)-audio.a
+
+coverage: coverage/$(LIBNAME).a
+
+debug: debug/$(LIBDEBUG).a
+
+all: install_debug install
+
+debug/$(LIBDEBUG).a: debug/make $(DEBUG) $(ASM_DEBUG)
+ ar -r debug/$(LIBDEBUG).a $(DEBUG) $(ASM_DEBUG)
+ -chmod a+x ppl7-config
+
+release/$(LIBNAME).a: release/make $(RELEASE) $(ASM_RELEASE)
+ ar -r release/$(LIBNAME).a $(RELEASE) $(ASM_RELEASE)
+ -chmod a+x ppl7-config
+
+coverage/$(LIBNAME).a: coverage/make $(COVERAGE) $(ASM_COVERAGE)
+ ar -r coverage/$(LIBNAME).a $(COVERAGE) $(ASM_COVERAGE)
+ -chmod a+x ppl7-config
+
+release/$(LIBNAME)-core.a: debug/make $(CORE_RELEASE) $(ASM_RELEASE)
+ ar -r release/$(LIBNAME)-core.a $(CORE_RELEASE) $(ASM_RELEASE)
+
+release/$(LIBNAME)-crypto.a: debug/make $(CRYPTO_RELEASE)
+ ar -r release/$(LIBNAME)-crypto.a $(CRYPTO_RELEASE)
+
+release/$(LIBNAME)-inet.a: debug/make $(INET_RELEASE)
+ ar -r release/$(LIBNAME)-inet.a $(INET_RELEASE)
+
+release/$(LIBNAME)-db.a: debug/make $(DB_RELEASE)
+ ar -r release/$(LIBNAME)-db.a $(DB_RELEASE)
+
+release/$(LIBNAME)-gfx.a: debug/make $(GFX_RELEASE)
+ ar -r release/$(LIBNAME)-gfx.a $(GFX_RELEASE)
+
+release/$(LIBNAME)-tk.a: debug/make $(TK_RELEASE)
+ ar -r release/$(LIBNAME)-tk.a $(TK_RELEASE)
+
+release/$(LIBNAME)-audio.a: debug/make $(AUDIO_RELEASE)
+ ar -r release/$(LIBNAME)-audio.a $(AUDIO_RELEASE)
+
+
+debug/make:
+ -mkdir -p debug
+ -touch debug/make
+
+release/make:
+ -mkdir -p release
+ -touch release/make
+
+coverage/make:
+ -mkdir -p coverage
+ -touch coverage/make
+
+install: release/$(LIBNAME).a release/$(LIBNAME)-core.a release/$(LIBNAME)-crypto.a release/$(LIBNAME)-inet.a release/$(LIBNAME)-db.a release/$(LIBNAME)-gfx.a release/$(LIBNAME)-tk.a debug/make release/$(LIBNAME)-audio.a
+ mkdir -p $(TARGETLIB) $(TARGETINCLUDE) $(TARGETBIN)
+ cp release/$(LIBNAME)*.a $(TARGETLIB)
+ cp $(incdir)/ppl7.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-types.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-algorithms.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-exceptions.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-inet.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-crypto.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-grafix.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-tk.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-audio.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-db.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-ppl6compat.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-config.h $(TARGETINCLUDE)/ppl7-config.h
+ chmod a+x ppl7-config
+ cp ppl7-config $(TARGETBIN)
+
+install_debug: debug/$(LIBDEBUG).a
+ mkdir -p $(TARGETLIB) $(TARGETINCLUDE) $(TARGETBIN)
+ cp debug/$(LIBDEBUG)*.a $(TARGETLIB)
+ cp $(incdir)/ppl7.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-types.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-algorithms.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-exceptions.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-inet.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-grafix.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-tk.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-audio.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-crypto.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-db.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-ppl6compat.h $(TARGETINCLUDE)
+ cp $(incdir)/ppl7-config.h $(TARGETINCLUDE)/ppl7-config.h
+ chmod a+x ppl7-config
+ cp ppl7-config $(TARGETBIN)
+
+clean:
+ -rm -rf release
+ -rm -rf debug
+ -rm -rf coverage
+ -rm -rf documentation
+ -cd tests; make clean
+
+deinstall:
+ -rm -f $(TARGETINCLUDE)/ppl7*.h
+ -rm -f $(TARGETLIB)/$(LIBDEBUG)*.a
+ -rm -f $(TARGETLIB)/$(LIBNAME)*.a
+ -rm -f $(TARGETBIN)/ppl7-config
+
+distclean: clean
+ -rm -rf $(incdir)/ppl7-config.h $(incdir)/config.h config.log config.status autom4te.cache configure.scan
+
+configure: genConfigure genMakefile.in configure.in
+ sh genConfigure
+
+Makefile:
+ sh genMakefile.in
+
+doku: html
+
+html:
+ mkdir -p documentation
+ rm -rf documentation/html
+ mkdir -p documentation/html
+ doxygen Doxyfile
+ cp docs/header-bg.png documentation/html
+
+test:
+ cd tests; make xml
+
+memcheck:
+ cd tests; make memcheck
+
+
+#release/pplgenresource.o: release/make Makefile tools/pplgenresource/genresource.cpp
+# $(CXX) -Wall -c -o release/pplgenresource.o tools/pplgenresource/genresource.cpp $(CFLAGS)
+#
+#debug/pplgenresource.o: debug/make Makefile tools/pplgenresource/genresource.cpp
+# $(CXX) -Wall -c -o debug/pplgenresource.o tools/pplgenresource/genresource.cpp $(CFLAGS)
+#
+#
+#res:
+# -pplgenresource -b resource -c resource/resourcen.lst -t resource/res.h -l PPL7_RESOURCES
+# -rm -f debug/resourcen.o release/resourcen.o
+
+
+###########################################################################
+### Compile Release Files
+###########################################################################
+
+### CORE
+release/core_AVLTree.o: $(srcdir)/core/AVLTree.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-algorithms.h
+ ###############################################################################
+ # Compiling >>>core/AVLTree.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_AVLTree.o -c $(srcdir)/core/AVLTree.cpp $(CFLAGS)
+
+release/core_Compat.o: $(srcdir)/core/Compat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compat.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Compat.o -c $(srcdir)/core/Compat.cpp $(CFLAGS)
+
+release/core_Compression.o: $(srcdir)/core/Compression.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compression.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Compression.o -c $(srcdir)/core/Compression.cpp $(CFLAGS)
+
+release/core_ConfigParser.o: $(srcdir)/core/ConfigParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ConfigParser.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_ConfigParser.o -c $(srcdir)/core/ConfigParser.cpp $(CFLAGS)
+
+release/core_cpu.o: $(srcdir)/core/cpu.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/cpu.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_cpu.o -c $(srcdir)/core/cpu.cpp $(CFLAGS)
+
+release/core_Dir.o: $(srcdir)/core/Dir.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Dir.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Dir.o -c $(srcdir)/core/Dir.cpp $(CFLAGS)
+
+release/core_DirEntry.o: $(srcdir)/core/DirEntry.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/DirEntry.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_DirEntry.o -c $(srcdir)/core/DirEntry.cpp $(CFLAGS)
+
+release/core_Exceptions.o: $(srcdir)/core/Exceptions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Exceptions.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Exceptions.o -c $(srcdir)/core/Exceptions.cpp $(CFLAGS)
+
+release/core_File.o: $(srcdir)/core/File.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/File.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_File.o -c $(srcdir)/core/File.cpp $(CFLAGS)
+
+release/core_FileObject.o: $(srcdir)/core/FileObject.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/FileObject.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_FileObject.o -c $(srcdir)/core/FileObject.cpp $(CFLAGS)
+
+release/core_Functions.o: $(srcdir)/core/Functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Functions.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Functions.o -c $(srcdir)/core/Functions.cpp $(CFLAGS)
+
+release/core_GzFile.o: $(srcdir)/core/GzFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/GzFile.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_GzFile.o -c $(srcdir)/core/GzFile.cpp $(CFLAGS)
+
+release/core_Iconv.o: $(srcdir)/core/Iconv.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Iconv.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Iconv.o -c $(srcdir)/core/Iconv.cpp $(CFLAGS)
+
+release/core_Json.o: $(srcdir)/core/Json.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Json.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Json.o -c $(srcdir)/core/Json.cpp $(CFLAGS)
+
+release/core_Logger.o: $(srcdir)/core/Logger.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Logger.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Logger.o -c $(srcdir)/core/Logger.cpp $(CFLAGS)
+
+release/core_MemFile.o: $(srcdir)/core/MemFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemFile.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_MemFile.o -c $(srcdir)/core/MemFile.cpp $(CFLAGS)
+
+release/core_MemoryGroup.o: $(srcdir)/core/MemoryGroup.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryGroup.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_MemoryGroup.o -c $(srcdir)/core/MemoryGroup.cpp $(CFLAGS)
+
+release/core_MemoryHeap.o: $(srcdir)/core/MemoryHeap.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryHeap.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_MemoryHeap.o -c $(srcdir)/core/MemoryHeap.cpp $(CFLAGS)
+
+release/core_Mutex.o: $(srcdir)/core/Mutex.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Mutex.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Mutex.o -c $(srcdir)/core/Mutex.cpp $(CFLAGS)
+
+release/core_PerlHelper.o: $(srcdir)/core/PerlHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PerlHelper.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_PerlHelper.o -c $(srcdir)/core/PerlHelper.cpp $(CFLAGS)
+
+release/core_PFPFile.o: $(srcdir)/core/PFPFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PFPFile.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_PFPFile.o -c $(srcdir)/core/PFPFile.cpp $(CFLAGS)
+
+release/core_PythonHelper.o: $(srcdir)/core/PythonHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PythonHelper.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_PythonHelper.o -c $(srcdir)/core/PythonHelper.cpp $(CFLAGS)
+
+release/core_Resource.o: $(srcdir)/core/Resource.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resource.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Resource.o -c $(srcdir)/core/Resource.cpp $(CFLAGS)
+
+release/core_Resourcen.o: $(srcdir)/core/Resourcen.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resourcen.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Resourcen.o -c $(srcdir)/core/Resourcen.cpp $(CFLAGS)
+
+release/core_Signal.o: $(srcdir)/core/Signal.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Signal.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Signal.o -c $(srcdir)/core/Signal.cpp $(CFLAGS)
+
+release/core_StringFunctions.o: $(srcdir)/core/StringFunctions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/StringFunctions.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_StringFunctions.o -c $(srcdir)/core/StringFunctions.cpp $(CFLAGS)
+
+release/core_ThreadPool.o: $(srcdir)/core/ThreadPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ThreadPool.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_ThreadPool.o -c $(srcdir)/core/ThreadPool.cpp $(CFLAGS)
+
+release/core_Threads.o: $(srcdir)/core/Threads.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Threads.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Threads.o -c $(srcdir)/core/Threads.cpp $(CFLAGS)
+
+release/core_Time.o: $(srcdir)/core/Time.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Time.cpp<<<
+ $(CXX) -Wall -O2 -o release/core_Time.o -c $(srcdir)/core/Time.cpp $(CFLAGS)
+
+### TYPES
+release/type_Array.o: $(srcdir)/types/Array.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Array.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_Array.o -c $(srcdir)/types/Array.cpp $(CFLAGS)
+
+release/type_AssocArray.o: $(srcdir)/types/AssocArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/AssocArray.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_AssocArray.o -c $(srcdir)/types/AssocArray.cpp $(CFLAGS)
+
+release/type_ByteArray.o: $(srcdir)/types/ByteArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArray.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_ByteArray.o -c $(srcdir)/types/ByteArray.cpp $(CFLAGS)
+
+release/type_ByteArrayPtr.o: $(srcdir)/types/ByteArrayPtr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArrayPtr.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_ByteArrayPtr.o -c $(srcdir)/types/ByteArrayPtr.cpp $(CFLAGS)
+
+release/type_DateTime.o: $(srcdir)/types/DateTime.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/DateTime.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_DateTime.o -c $(srcdir)/types/DateTime.cpp $(CFLAGS)
+
+release/type_Pointer.o: $(srcdir)/types/Pointer.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Pointer.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_Pointer.o -c $(srcdir)/types/Pointer.cpp $(CFLAGS)
+
+release/type_String.o: $(srcdir)/types/String.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/String.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_String.o -c $(srcdir)/types/String.cpp $(CFLAGS)
+
+release/type_Variant.o: $(srcdir)/types/Variant.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Variant.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_Variant.o -c $(srcdir)/types/Variant.cpp $(CFLAGS)
+
+release/type_WideString.o: $(srcdir)/types/WideString.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/WideString.cpp<<<
+ $(CXX) -Wall -O2 -o release/type_WideString.o -c $(srcdir)/types/WideString.cpp $(CFLAGS)
+
+### MATH
+release/math_ca.o: $(srcdir)/math/calc.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/calc.cpp<<<
+ $(CXX) -Wall -O2 -o release/math_ca.o -c $(srcdir)/math/calc.cpp $(CFLAGS)
+
+release/math_crc32.o: $(srcdir)/math/crc32.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/crc32.cpp<<<
+ $(CXX) -Wall -O2 -o release/math_crc32.o -c $(srcdir)/math/crc32.cpp $(CFLAGS)
+
+release/math_md5.o: $(srcdir)/math/md5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/md5.cpp<<<
+ $(CXX) -Wall -O2 -o release/math_md5.o -c $(srcdir)/math/md5.cpp $(CFLAGS)
+
+release/math_random.o: $(srcdir)/math/random.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/random.cpp<<<
+ $(CXX) -Wall -O2 -o release/math_random.o -c $(srcdir)/math/random.cpp $(CFLAGS)
+
+### CRYPTO
+release/crypto_Crypt.o: $(srcdir)/crypto/Crypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Crypt.cpp<<<
+ $(CXX) -Wall -O2 -o release/crypto_Crypt.o -c $(srcdir)/crypto/Crypt.cpp $(CFLAGS)
+
+release/crypto_Digest.o: $(srcdir)/crypto/Digest.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Digest.cpp<<<
+ $(CXX) -Wall -O2 -o release/crypto_Digest.o -c $(srcdir)/crypto/Digest.cpp $(CFLAGS)
+
+release/crypto_MCrypt.o: $(srcdir)/crypto/MCrypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/MCrypt.cpp<<<
+ $(CXX) -Wall -O2 -o release/crypto_MCrypt.o -c $(srcdir)/crypto/MCrypt.cpp $(CFLAGS)
+
+### INTERNET
+release/inet_curl.o: $(srcdir)/internet/curl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/curl.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_curl.o -c $(srcdir)/internet/curl.cpp $(CFLAGS)
+
+release/inet_inet_functions.o: $(srcdir)/internet/inet_functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/inet_functions.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_inet_functions.o -c $(srcdir)/internet/inet_functions.cpp $(CFLAGS)
+
+release/inet_ipaddress.o: $(srcdir)/internet/ipaddress.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipaddress.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_ipaddress.o -c $(srcdir)/internet/ipaddress.cpp $(CFLAGS)
+
+release/inet_ipnetwork.o: $(srcdir)/internet/ipnetwork.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipnetwork.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_ipnetwork.o -c $(srcdir)/internet/ipnetwork.cpp $(CFLAGS)
+
+release/inet_openssl.o: $(srcdir)/internet/openssl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/openssl.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_openssl.o -c $(srcdir)/internet/openssl.cpp $(CFLAGS)
+
+release/inet_resolver.o: $(srcdir)/internet/resolver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/resolver.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_resolver.o -c $(srcdir)/internet/resolver.cpp $(CFLAGS)
+
+release/inet_sockaddr.o: $(srcdir)/internet/sockaddr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/sockaddr.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_sockaddr.o -c $(srcdir)/internet/sockaddr.cpp $(CFLAGS)
+
+release/inet_SocketMessage.o: $(srcdir)/internet/SocketMessage.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/SocketMessage.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_SocketMessage.o -c $(srcdir)/internet/SocketMessage.cpp $(CFLAGS)
+
+release/inet_TCPSocket.o: $(srcdir)/internet/TCPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/TCPSocket.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_TCPSocket.o -c $(srcdir)/internet/TCPSocket.cpp $(CFLAGS)
+
+release/inet_UDPSocket.o: $(srcdir)/internet/UDPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/UDPSocket.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_UDPSocket.o -c $(srcdir)/internet/UDPSocket.cpp $(CFLAGS)
+
+release/inet_Webserver.o: $(srcdir)/internet/Webserver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/Webserver.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_Webserver.o -c $(srcdir)/internet/Webserver.cpp $(CFLAGS)
+
+release/inet_WikiParser.o: $(srcdir)/internet/WikiParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/WikiParser.cpp<<<
+ $(CXX) -Wall -O2 -o release/inet_WikiParser.o -c $(srcdir)/internet/WikiParser.cpp $(CFLAGS)
+
+### DATABASE
+release/db_Database.o: $(srcdir)/database/Database.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Database.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_Database.o -c $(srcdir)/database/Database.cpp $(CFLAGS)
+
+release/db_DBPool.o: $(srcdir)/database/DBPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPool.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_DBPool.o -c $(srcdir)/database/DBPool.cpp $(CFLAGS)
+
+release/db_DBPoolOfPools.o: $(srcdir)/database/DBPoolOfPools.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPoolOfPools.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_DBPoolOfPools.o -c $(srcdir)/database/DBPoolOfPools.cpp $(CFLAGS)
+
+release/db_MySQL.o: $(srcdir)/database/MySQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/MySQL.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_MySQL.o -c $(srcdir)/database/MySQL.cpp $(CFLAGS)
+
+release/db_PostgreSQL.o: $(srcdir)/database/PostgreSQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/PostgreSQL.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_PostgreSQL.o -c $(srcdir)/database/PostgreSQL.cpp $(CFLAGS)
+
+release/db_ResultSet.o: $(srcdir)/database/ResultSet.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/ResultSet.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_ResultSet.o -c $(srcdir)/database/ResultSet.cpp $(CFLAGS)
+
+release/db_Sqlite3.o: $(srcdir)/database/Sqlite3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Sqlite3.cpp<<<
+ $(CXX) -Wall -O2 -o release/db_Sqlite3.o -c $(srcdir)/database/Sqlite3.cpp $(CFLAGS)
+
+### GRAFIX
+release/gfx_Color.o: $(srcdir)/grafix/Color.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Color.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Color.o -c $(srcdir)/grafix/Color.cpp $(CFLAGS)
+
+release/gfx_DrawableBlit.o: $(srcdir)/grafix/DrawableBlit.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableBlit.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_DrawableBlit.o -c $(srcdir)/grafix/DrawableBlit.cpp $(CFLAGS)
+
+release/gfx_DrawableColor.o: $(srcdir)/grafix/DrawableColor.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableColor.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_DrawableColor.o -c $(srcdir)/grafix/DrawableColor.cpp $(CFLAGS)
+
+release/gfx_Drawable.o: $(srcdir)/grafix/Drawable.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Drawable.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Drawable.o -c $(srcdir)/grafix/Drawable.cpp $(CFLAGS)
+
+release/gfx_DrawableLines.o: $(srcdir)/grafix/DrawableLines.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableLines.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_DrawableLines.o -c $(srcdir)/grafix/DrawableLines.cpp $(CFLAGS)
+
+release/gfx_DrawablePixel.o: $(srcdir)/grafix/DrawablePixel.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawablePixel.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_DrawablePixel.o -c $(srcdir)/grafix/DrawablePixel.cpp $(CFLAGS)
+
+release/gfx_DrawableShapes.o: $(srcdir)/grafix/DrawableShapes.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableShapes.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_DrawableShapes.o -c $(srcdir)/grafix/DrawableShapes.cpp $(CFLAGS)
+
+release/gfx_Font4.o: $(srcdir)/grafix/Font4.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font4.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Font4.o -c $(srcdir)/grafix/Font4.cpp $(CFLAGS)
+
+release/gfx_Font5.o: $(srcdir)/grafix/Font5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font5.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Font5.o -c $(srcdir)/grafix/Font5.cpp $(CFLAGS)
+
+release/gfx_Font6.o: $(srcdir)/grafix/Font6.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font6.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Font6.o -c $(srcdir)/grafix/Font6.cpp $(CFLAGS)
+
+release/gfx_FontFreeType.o: $(srcdir)/grafix/FontFreeType.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/FontFreeType.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_FontFreeType.o -c $(srcdir)/grafix/FontFreeType.cpp $(CFLAGS)
+
+release/gfx_Fonts.o: $(srcdir)/grafix/Fonts.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Fonts.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Fonts.o -c $(srcdir)/grafix/Fonts.cpp $(CFLAGS)
+
+release/gfx_Grafix.o: $(srcdir)/grafix/Grafix.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Grafix.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Grafix.o -c $(srcdir)/grafix/Grafix.cpp $(CFLAGS)
+
+release/gfx_Image.o: $(srcdir)/grafix/Image.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Image.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Image.o -c $(srcdir)/grafix/Image.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_BMP.o: $(srcdir)/grafix/ImageFilter_BMP.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_BMP.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_BMP.o -c $(srcdir)/grafix/ImageFilter_BMP.cpp $(CFLAGS)
+
+release/gfx_ImageFilter.o: $(srcdir)/grafix/ImageFilter.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter.o -c $(srcdir)/grafix/ImageFilter.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_GIF.o: $(srcdir)/grafix/ImageFilter_GIF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_GIF.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_GIF.o -c $(srcdir)/grafix/ImageFilter_GIF.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_ImageMagick.o: $(srcdir)/grafix/ImageFilter_ImageMagick.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_ImageMagick.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_ImageMagick.o -c $(srcdir)/grafix/ImageFilter_ImageMagick.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_JPEG.o: $(srcdir)/grafix/ImageFilter_JPEG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_JPEG.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_JPEG.o -c $(srcdir)/grafix/ImageFilter_JPEG.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_PNG.o: $(srcdir)/grafix/ImageFilter_PNG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PNG.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_PNG.o -c $(srcdir)/grafix/ImageFilter_PNG.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_PPM.o: $(srcdir)/grafix/ImageFilter_PPM.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PPM.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_PPM.o -c $(srcdir)/grafix/ImageFilter_PPM.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_TGA.o: $(srcdir)/grafix/ImageFilter_TGA.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TGA.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_TGA.o -c $(srcdir)/grafix/ImageFilter_TGA.cpp $(CFLAGS)
+
+release/gfx_ImageFilter_TIFF.o: $(srcdir)/grafix/ImageFilter_TIFF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TIFF.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageFilter_TIFF.o -c $(srcdir)/grafix/ImageFilter_TIFF.cpp $(CFLAGS)
+
+release/gfx_ImageList.o: $(srcdir)/grafix/ImageList.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageList.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_ImageList.o -c $(srcdir)/grafix/ImageList.cpp $(CFLAGS)
+
+release/gfx_Point3D.o: $(srcdir)/grafix/Point3D.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point3D.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Point3D.o -c $(srcdir)/grafix/Point3D.cpp $(CFLAGS)
+
+release/gfx_Point.o: $(srcdir)/grafix/Point.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Point.o -c $(srcdir)/grafix/Point.cpp $(CFLAGS)
+
+release/gfx_Rect.o: $(srcdir)/grafix/Rect.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Rect.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Rect.o -c $(srcdir)/grafix/Rect.cpp $(CFLAGS)
+
+release/gfx_RGBFormat.o: $(srcdir)/grafix/RGBFormat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/RGBFormat.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_RGBFormat.o -c $(srcdir)/grafix/RGBFormat.cpp $(CFLAGS)
+
+release/gfx_Size.o: $(srcdir)/grafix/Size.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Size.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Size.o -c $(srcdir)/grafix/Size.cpp $(CFLAGS)
+
+release/gfx_Sprite.o: $(srcdir)/grafix/Sprite.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Sprite.cpp<<<
+ $(CXX) -Wall -O2 -o release/gfx_Sprite.o -c $(srcdir)/grafix/Sprite.cpp $(CFLAGS)
+
+### TOOLKIT
+release/tk_Button.o: $(srcdir)/toolkit/Button.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Button.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Button.o -c $(srcdir)/toolkit/Button.cpp $(CFLAGS)
+
+release/tk_Divider.o: $(srcdir)/toolkit/Divider.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Divider.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Divider.o -c $(srcdir)/toolkit/Divider.cpp $(CFLAGS)
+
+release/tk_Event.o: $(srcdir)/toolkit/Event.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Event.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Event.o -c $(srcdir)/toolkit/Event.cpp $(CFLAGS)
+
+release/tk_Frame.o: $(srcdir)/toolkit/Frame.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Frame.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Frame.o -c $(srcdir)/toolkit/Frame.cpp $(CFLAGS)
+
+release/tk_Label.o: $(srcdir)/toolkit/Label.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Label.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Label.o -c $(srcdir)/toolkit/Label.cpp $(CFLAGS)
+
+release/tk_Layout.o: $(srcdir)/toolkit/Layout.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Layout.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Layout.o -c $(srcdir)/toolkit/Layout.cpp $(CFLAGS)
+
+release/tk_LineInput.o: $(srcdir)/toolkit/LineInput.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/LineInput.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_LineInput.o -c $(srcdir)/toolkit/LineInput.cpp $(CFLAGS)
+
+release/tk_Surface.o: $(srcdir)/toolkit/Surface.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Surface.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Surface.o -c $(srcdir)/toolkit/Surface.cpp $(CFLAGS)
+
+release/tk_Widget.o: $(srcdir)/toolkit/Widget.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Widget.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Widget.o -c $(srcdir)/toolkit/Widget.cpp $(CFLAGS)
+
+release/tk_Window.o: $(srcdir)/toolkit/Window.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Window.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_Window.o -c $(srcdir)/toolkit/Window.cpp $(CFLAGS)
+
+release/tk_WindowManager.o: $(srcdir)/toolkit/WindowManager.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_WindowManager.o -c $(srcdir)/toolkit/WindowManager.cpp $(CFLAGS)
+
+release/tk_WindowManager_SDL2.o: $(srcdir)/toolkit/WindowManager_SDL2.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager_SDL2.cpp<<<
+ $(CXX) -Wall -O2 -o release/tk_WindowManager_SDL2.o -c $(srcdir)/toolkit/WindowManager_SDL2.cpp $(CFLAGS)
+
+### AUDIO
+release/audio_AudioCD.o: $(srcdir)/audio/AudioCD.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioCD.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioCD.o -c $(srcdir)/audio/AudioCD.cpp $(CFLAGS)
+
+release/audio_AudioDecoder_Aiff.o: $(srcdir)/audio/AudioDecoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Aiff.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioDecoder_Aiff.o -c $(srcdir)/audio/AudioDecoder_Aiff.cpp $(CFLAGS)
+
+release/audio_AudioDecoder_MP3.o: $(srcdir)/audio/AudioDecoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_MP3.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioDecoder_MP3.o -c $(srcdir)/audio/AudioDecoder_MP3.cpp $(CFLAGS)
+
+release/audio_AudioDecoder_Ogg.o: $(srcdir)/audio/AudioDecoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Ogg.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioDecoder_Ogg.o -c $(srcdir)/audio/AudioDecoder_Ogg.cpp $(CFLAGS)
+
+release/audio_AudioDecoder_Wave.o: $(srcdir)/audio/AudioDecoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Wave.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioDecoder_Wave.o -c $(srcdir)/audio/AudioDecoder_Wave.cpp $(CFLAGS)
+
+release/audio_AudioEncoder_Aiff.o: $(srcdir)/audio/AudioEncoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Aiff.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioEncoder_Aiff.o -c $(srcdir)/audio/AudioEncoder_Aiff.cpp $(CFLAGS)
+
+release/audio_AudioEncoder_MP3.o: $(srcdir)/audio/AudioEncoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_MP3.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioEncoder_MP3.o -c $(srcdir)/audio/AudioEncoder_MP3.cpp $(CFLAGS)
+
+release/audio_AudioEncoder_Ogg.o: $(srcdir)/audio/AudioEncoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Ogg.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioEncoder_Ogg.o -c $(srcdir)/audio/AudioEncoder_Ogg.cpp $(CFLAGS)
+
+release/audio_AudioEncoder_Wave.o: $(srcdir)/audio/AudioEncoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Wave.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioEncoder_Wave.o -c $(srcdir)/audio/AudioEncoder_Wave.cpp $(CFLAGS)
+
+release/audio_AudioInfo.o: $(srcdir)/audio/AudioInfo.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioInfo.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_AudioInfo.o -c $(srcdir)/audio/AudioInfo.cpp $(CFLAGS)
+
+release/audio_Cddb.o: $(srcdir)/audio/Cddb.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Cddb.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_Cddb.o -c $(srcdir)/audio/Cddb.cpp $(CFLAGS)
+
+release/audio_Icecast.o: $(srcdir)/audio/Icecast.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Icecast.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_Icecast.o -c $(srcdir)/audio/Icecast.cpp $(CFLAGS)
+
+release/audio_ID3Tag.o: $(srcdir)/audio/ID3Tag.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/ID3Tag.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_ID3Tag.o -c $(srcdir)/audio/ID3Tag.cpp $(CFLAGS)
+
+release/audio_Mp3.o: $(srcdir)/audio/Mp3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Mp3.cpp<<<
+ $(CXX) -Wall -O2 -o release/audio_Mp3.o -c $(srcdir)/audio/Mp3.cpp $(CFLAGS)
+
+### ASM
+release/asm_blt.o: $(srcdir)/asm/blt.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt.asm<<<
+ $(ASM) -o release/asm_blt.o -l release/asm_blt.lst $(srcdir)/asm/blt.asm
+
+release/asm_blt_blend.o: $(srcdir)/asm/blt_blend.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt_blend.asm<<<
+ $(ASM) -o release/asm_blt_blend.o -l release/asm_blt_blend.lst $(srcdir)/asm/blt_blend.asm
+
+release/asm_chromakey.o: $(srcdir)/asm/chromakey.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/chromakey.asm<<<
+ $(ASM) -o release/asm_chromakey.o -l release/asm_chromakey.lst $(srcdir)/asm/chromakey.asm
+
+release/asm_colors.o: $(srcdir)/asm/colors.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/colors.asm<<<
+ $(ASM) -o release/asm_colors.o -l release/asm_colors.lst $(srcdir)/asm/colors.asm
+
+release/asm_common.o: $(srcdir)/asm/common.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/common.asm<<<
+ $(ASM) -o release/asm_common.o -l release/asm_common.lst $(srcdir)/asm/common.asm
+
+release/asm_cpu.o: $(srcdir)/asm/cpu.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/cpu.asm<<<
+ $(ASM) -o release/asm_cpu.o -l release/asm_cpu.lst $(srcdir)/asm/cpu.asm
+
+release/asm_fonts.o: $(srcdir)/asm/fonts.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/fonts.asm<<<
+ $(ASM) -o release/asm_fonts.o -l release/asm_fonts.lst $(srcdir)/asm/fonts.asm
+
+release/asm_pixel.o: $(srcdir)/asm/pixel.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/pixel.asm<<<
+ $(ASM) -o release/asm_pixel.o -l release/asm_pixel.lst $(srcdir)/asm/pixel.asm
+
+release/asm_rect.o: $(srcdir)/asm/rect.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/rect.asm<<<
+ $(ASM) -o release/asm_rect.o -l release/asm_rect.lst $(srcdir)/asm/rect.asm
+
+
+###########################################################################
+### Compile Debug Files
+###########################################################################
+
+### CORE
+debug/core_AVLTree.o: $(srcdir)/core/AVLTree.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-algorithms.h
+ ###############################################################################
+ # Compiling >>>core/AVLTree.cpp<<<
+ $(CXX) -Wall -O -o debug/core_AVLTree.o -c $(srcdir)/core/AVLTree.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Compat.o: $(srcdir)/core/Compat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compat.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Compat.o -c $(srcdir)/core/Compat.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Compression.o: $(srcdir)/core/Compression.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compression.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Compression.o -c $(srcdir)/core/Compression.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_ConfigParser.o: $(srcdir)/core/ConfigParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ConfigParser.cpp<<<
+ $(CXX) -Wall -O -o debug/core_ConfigParser.o -c $(srcdir)/core/ConfigParser.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_cpu.o: $(srcdir)/core/cpu.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/cpu.cpp<<<
+ $(CXX) -Wall -O -o debug/core_cpu.o -c $(srcdir)/core/cpu.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Dir.o: $(srcdir)/core/Dir.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Dir.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Dir.o -c $(srcdir)/core/Dir.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_DirEntry.o: $(srcdir)/core/DirEntry.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/DirEntry.cpp<<<
+ $(CXX) -Wall -O -o debug/core_DirEntry.o -c $(srcdir)/core/DirEntry.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Exceptions.o: $(srcdir)/core/Exceptions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Exceptions.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Exceptions.o -c $(srcdir)/core/Exceptions.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_File.o: $(srcdir)/core/File.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/File.cpp<<<
+ $(CXX) -Wall -O -o debug/core_File.o -c $(srcdir)/core/File.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_FileObject.o: $(srcdir)/core/FileObject.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/FileObject.cpp<<<
+ $(CXX) -Wall -O -o debug/core_FileObject.o -c $(srcdir)/core/FileObject.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Functions.o: $(srcdir)/core/Functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Functions.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Functions.o -c $(srcdir)/core/Functions.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_GzFile.o: $(srcdir)/core/GzFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/GzFile.cpp<<<
+ $(CXX) -Wall -O -o debug/core_GzFile.o -c $(srcdir)/core/GzFile.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Iconv.o: $(srcdir)/core/Iconv.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Iconv.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Iconv.o -c $(srcdir)/core/Iconv.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Json.o: $(srcdir)/core/Json.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Json.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Json.o -c $(srcdir)/core/Json.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Logger.o: $(srcdir)/core/Logger.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Logger.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Logger.o -c $(srcdir)/core/Logger.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_MemFile.o: $(srcdir)/core/MemFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemFile.cpp<<<
+ $(CXX) -Wall -O -o debug/core_MemFile.o -c $(srcdir)/core/MemFile.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_MemoryGroup.o: $(srcdir)/core/MemoryGroup.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryGroup.cpp<<<
+ $(CXX) -Wall -O -o debug/core_MemoryGroup.o -c $(srcdir)/core/MemoryGroup.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_MemoryHeap.o: $(srcdir)/core/MemoryHeap.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryHeap.cpp<<<
+ $(CXX) -Wall -O -o debug/core_MemoryHeap.o -c $(srcdir)/core/MemoryHeap.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Mutex.o: $(srcdir)/core/Mutex.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Mutex.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Mutex.o -c $(srcdir)/core/Mutex.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_PerlHelper.o: $(srcdir)/core/PerlHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PerlHelper.cpp<<<
+ $(CXX) -Wall -O -o debug/core_PerlHelper.o -c $(srcdir)/core/PerlHelper.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_PFPFile.o: $(srcdir)/core/PFPFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PFPFile.cpp<<<
+ $(CXX) -Wall -O -o debug/core_PFPFile.o -c $(srcdir)/core/PFPFile.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_PythonHelper.o: $(srcdir)/core/PythonHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PythonHelper.cpp<<<
+ $(CXX) -Wall -O -o debug/core_PythonHelper.o -c $(srcdir)/core/PythonHelper.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Resource.o: $(srcdir)/core/Resource.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resource.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Resource.o -c $(srcdir)/core/Resource.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Resourcen.o: $(srcdir)/core/Resourcen.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resourcen.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Resourcen.o -c $(srcdir)/core/Resourcen.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Signal.o: $(srcdir)/core/Signal.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Signal.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Signal.o -c $(srcdir)/core/Signal.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_StringFunctions.o: $(srcdir)/core/StringFunctions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/StringFunctions.cpp<<<
+ $(CXX) -Wall -O -o debug/core_StringFunctions.o -c $(srcdir)/core/StringFunctions.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_ThreadPool.o: $(srcdir)/core/ThreadPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ThreadPool.cpp<<<
+ $(CXX) -Wall -O -o debug/core_ThreadPool.o -c $(srcdir)/core/ThreadPool.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Threads.o: $(srcdir)/core/Threads.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Threads.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Threads.o -c $(srcdir)/core/Threads.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/core_Time.o: $(srcdir)/core/Time.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Time.cpp<<<
+ $(CXX) -Wall -O -o debug/core_Time.o -c $(srcdir)/core/Time.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### TYPES
+debug/type_Array.o: $(srcdir)/types/Array.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Array.cpp<<<
+ $(CXX) -Wall -O -o debug/type_Array.o -c $(srcdir)/types/Array.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_AssocArray.o: $(srcdir)/types/AssocArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/AssocArray.cpp<<<
+ $(CXX) -Wall -O -o debug/type_AssocArray.o -c $(srcdir)/types/AssocArray.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_ByteArray.o: $(srcdir)/types/ByteArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArray.cpp<<<
+ $(CXX) -Wall -O -o debug/type_ByteArray.o -c $(srcdir)/types/ByteArray.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_ByteArrayPtr.o: $(srcdir)/types/ByteArrayPtr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArrayPtr.cpp<<<
+ $(CXX) -Wall -O -o debug/type_ByteArrayPtr.o -c $(srcdir)/types/ByteArrayPtr.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_DateTime.o: $(srcdir)/types/DateTime.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/DateTime.cpp<<<
+ $(CXX) -Wall -O -o debug/type_DateTime.o -c $(srcdir)/types/DateTime.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_Pointer.o: $(srcdir)/types/Pointer.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Pointer.cpp<<<
+ $(CXX) -Wall -O -o debug/type_Pointer.o -c $(srcdir)/types/Pointer.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_String.o: $(srcdir)/types/String.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/String.cpp<<<
+ $(CXX) -Wall -O -o debug/type_String.o -c $(srcdir)/types/String.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_Variant.o: $(srcdir)/types/Variant.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Variant.cpp<<<
+ $(CXX) -Wall -O -o debug/type_Variant.o -c $(srcdir)/types/Variant.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/type_WideString.o: $(srcdir)/types/WideString.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/WideString.cpp<<<
+ $(CXX) -Wall -O -o debug/type_WideString.o -c $(srcdir)/types/WideString.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### MATH
+debug/math_ca.o: $(srcdir)/math/calc.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/calc.cpp<<<
+ $(CXX) -Wall -O -o debug/math_ca.o -c $(srcdir)/math/calc.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/math_crc32.o: $(srcdir)/math/crc32.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/crc32.cpp<<<
+ $(CXX) -Wall -O -o debug/math_crc32.o -c $(srcdir)/math/crc32.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/math_md5.o: $(srcdir)/math/md5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/md5.cpp<<<
+ $(CXX) -Wall -O -o debug/math_md5.o -c $(srcdir)/math/md5.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/math_random.o: $(srcdir)/math/random.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/random.cpp<<<
+ $(CXX) -Wall -O -o debug/math_random.o -c $(srcdir)/math/random.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### CRYPTO
+debug/crypto_Crypt.o: $(srcdir)/crypto/Crypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Crypt.cpp<<<
+ $(CXX) -Wall -O -o debug/crypto_Crypt.o -c $(srcdir)/crypto/Crypt.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/crypto_Digest.o: $(srcdir)/crypto/Digest.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Digest.cpp<<<
+ $(CXX) -Wall -O -o debug/crypto_Digest.o -c $(srcdir)/crypto/Digest.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/crypto_MCrypt.o: $(srcdir)/crypto/MCrypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/MCrypt.cpp<<<
+ $(CXX) -Wall -O -o debug/crypto_MCrypt.o -c $(srcdir)/crypto/MCrypt.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### INTERNET
+debug/inet_curl.o: $(srcdir)/internet/curl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/curl.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_curl.o -c $(srcdir)/internet/curl.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_inet_functions.o: $(srcdir)/internet/inet_functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/inet_functions.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_inet_functions.o -c $(srcdir)/internet/inet_functions.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_ipaddress.o: $(srcdir)/internet/ipaddress.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipaddress.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_ipaddress.o -c $(srcdir)/internet/ipaddress.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_ipnetwork.o: $(srcdir)/internet/ipnetwork.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipnetwork.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_ipnetwork.o -c $(srcdir)/internet/ipnetwork.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_openssl.o: $(srcdir)/internet/openssl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/openssl.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_openssl.o -c $(srcdir)/internet/openssl.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_resolver.o: $(srcdir)/internet/resolver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/resolver.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_resolver.o -c $(srcdir)/internet/resolver.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_sockaddr.o: $(srcdir)/internet/sockaddr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/sockaddr.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_sockaddr.o -c $(srcdir)/internet/sockaddr.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_SocketMessage.o: $(srcdir)/internet/SocketMessage.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/SocketMessage.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_SocketMessage.o -c $(srcdir)/internet/SocketMessage.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_TCPSocket.o: $(srcdir)/internet/TCPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/TCPSocket.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_TCPSocket.o -c $(srcdir)/internet/TCPSocket.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_UDPSocket.o: $(srcdir)/internet/UDPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/UDPSocket.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_UDPSocket.o -c $(srcdir)/internet/UDPSocket.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_Webserver.o: $(srcdir)/internet/Webserver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/Webserver.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_Webserver.o -c $(srcdir)/internet/Webserver.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/inet_WikiParser.o: $(srcdir)/internet/WikiParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/WikiParser.cpp<<<
+ $(CXX) -Wall -O -o debug/inet_WikiParser.o -c $(srcdir)/internet/WikiParser.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### DATABASE
+debug/db_Database.o: $(srcdir)/database/Database.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Database.cpp<<<
+ $(CXX) -Wall -O -o debug/db_Database.o -c $(srcdir)/database/Database.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_DBPool.o: $(srcdir)/database/DBPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPool.cpp<<<
+ $(CXX) -Wall -O -o debug/db_DBPool.o -c $(srcdir)/database/DBPool.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_DBPoolOfPools.o: $(srcdir)/database/DBPoolOfPools.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPoolOfPools.cpp<<<
+ $(CXX) -Wall -O -o debug/db_DBPoolOfPools.o -c $(srcdir)/database/DBPoolOfPools.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_MySQL.o: $(srcdir)/database/MySQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/MySQL.cpp<<<
+ $(CXX) -Wall -O -o debug/db_MySQL.o -c $(srcdir)/database/MySQL.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_PostgreSQL.o: $(srcdir)/database/PostgreSQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/PostgreSQL.cpp<<<
+ $(CXX) -Wall -O -o debug/db_PostgreSQL.o -c $(srcdir)/database/PostgreSQL.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_ResultSet.o: $(srcdir)/database/ResultSet.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/ResultSet.cpp<<<
+ $(CXX) -Wall -O -o debug/db_ResultSet.o -c $(srcdir)/database/ResultSet.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/db_Sqlite3.o: $(srcdir)/database/Sqlite3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Sqlite3.cpp<<<
+ $(CXX) -Wall -O -o debug/db_Sqlite3.o -c $(srcdir)/database/Sqlite3.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### GRAFIX
+debug/gfx_Color.o: $(srcdir)/grafix/Color.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Color.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Color.o -c $(srcdir)/grafix/Color.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_DrawableBlit.o: $(srcdir)/grafix/DrawableBlit.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableBlit.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_DrawableBlit.o -c $(srcdir)/grafix/DrawableBlit.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_DrawableColor.o: $(srcdir)/grafix/DrawableColor.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableColor.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_DrawableColor.o -c $(srcdir)/grafix/DrawableColor.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Drawable.o: $(srcdir)/grafix/Drawable.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Drawable.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Drawable.o -c $(srcdir)/grafix/Drawable.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_DrawableLines.o: $(srcdir)/grafix/DrawableLines.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableLines.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_DrawableLines.o -c $(srcdir)/grafix/DrawableLines.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_DrawablePixel.o: $(srcdir)/grafix/DrawablePixel.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawablePixel.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_DrawablePixel.o -c $(srcdir)/grafix/DrawablePixel.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_DrawableShapes.o: $(srcdir)/grafix/DrawableShapes.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableShapes.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_DrawableShapes.o -c $(srcdir)/grafix/DrawableShapes.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Font4.o: $(srcdir)/grafix/Font4.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font4.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Font4.o -c $(srcdir)/grafix/Font4.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Font5.o: $(srcdir)/grafix/Font5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font5.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Font5.o -c $(srcdir)/grafix/Font5.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Font6.o: $(srcdir)/grafix/Font6.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font6.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Font6.o -c $(srcdir)/grafix/Font6.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_FontFreeType.o: $(srcdir)/grafix/FontFreeType.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/FontFreeType.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_FontFreeType.o -c $(srcdir)/grafix/FontFreeType.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Fonts.o: $(srcdir)/grafix/Fonts.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Fonts.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Fonts.o -c $(srcdir)/grafix/Fonts.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Grafix.o: $(srcdir)/grafix/Grafix.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Grafix.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Grafix.o -c $(srcdir)/grafix/Grafix.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Image.o: $(srcdir)/grafix/Image.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Image.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Image.o -c $(srcdir)/grafix/Image.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_BMP.o: $(srcdir)/grafix/ImageFilter_BMP.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_BMP.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_BMP.o -c $(srcdir)/grafix/ImageFilter_BMP.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter.o: $(srcdir)/grafix/ImageFilter.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter.o -c $(srcdir)/grafix/ImageFilter.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_GIF.o: $(srcdir)/grafix/ImageFilter_GIF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_GIF.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_GIF.o -c $(srcdir)/grafix/ImageFilter_GIF.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_ImageMagick.o: $(srcdir)/grafix/ImageFilter_ImageMagick.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_ImageMagick.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_ImageMagick.o -c $(srcdir)/grafix/ImageFilter_ImageMagick.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_JPEG.o: $(srcdir)/grafix/ImageFilter_JPEG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_JPEG.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_JPEG.o -c $(srcdir)/grafix/ImageFilter_JPEG.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_PNG.o: $(srcdir)/grafix/ImageFilter_PNG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PNG.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_PNG.o -c $(srcdir)/grafix/ImageFilter_PNG.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_PPM.o: $(srcdir)/grafix/ImageFilter_PPM.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PPM.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_PPM.o -c $(srcdir)/grafix/ImageFilter_PPM.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_TGA.o: $(srcdir)/grafix/ImageFilter_TGA.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TGA.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_TGA.o -c $(srcdir)/grafix/ImageFilter_TGA.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageFilter_TIFF.o: $(srcdir)/grafix/ImageFilter_TIFF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TIFF.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageFilter_TIFF.o -c $(srcdir)/grafix/ImageFilter_TIFF.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_ImageList.o: $(srcdir)/grafix/ImageList.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageList.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_ImageList.o -c $(srcdir)/grafix/ImageList.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Point3D.o: $(srcdir)/grafix/Point3D.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point3D.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Point3D.o -c $(srcdir)/grafix/Point3D.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Point.o: $(srcdir)/grafix/Point.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Point.o -c $(srcdir)/grafix/Point.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Rect.o: $(srcdir)/grafix/Rect.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Rect.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Rect.o -c $(srcdir)/grafix/Rect.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_RGBFormat.o: $(srcdir)/grafix/RGBFormat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/RGBFormat.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_RGBFormat.o -c $(srcdir)/grafix/RGBFormat.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Size.o: $(srcdir)/grafix/Size.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Size.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Size.o -c $(srcdir)/grafix/Size.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/gfx_Sprite.o: $(srcdir)/grafix/Sprite.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Sprite.cpp<<<
+ $(CXX) -Wall -O -o debug/gfx_Sprite.o -c $(srcdir)/grafix/Sprite.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### TOOLKIT
+debug/tk_Button.o: $(srcdir)/toolkit/Button.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Button.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Button.o -c $(srcdir)/toolkit/Button.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Divider.o: $(srcdir)/toolkit/Divider.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Divider.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Divider.o -c $(srcdir)/toolkit/Divider.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Event.o: $(srcdir)/toolkit/Event.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Event.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Event.o -c $(srcdir)/toolkit/Event.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Frame.o: $(srcdir)/toolkit/Frame.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Frame.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Frame.o -c $(srcdir)/toolkit/Frame.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Label.o: $(srcdir)/toolkit/Label.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Label.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Label.o -c $(srcdir)/toolkit/Label.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Layout.o: $(srcdir)/toolkit/Layout.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Layout.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Layout.o -c $(srcdir)/toolkit/Layout.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_LineInput.o: $(srcdir)/toolkit/LineInput.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/LineInput.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_LineInput.o -c $(srcdir)/toolkit/LineInput.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Surface.o: $(srcdir)/toolkit/Surface.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Surface.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Surface.o -c $(srcdir)/toolkit/Surface.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Widget.o: $(srcdir)/toolkit/Widget.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Widget.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Widget.o -c $(srcdir)/toolkit/Widget.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_Window.o: $(srcdir)/toolkit/Window.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Window.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_Window.o -c $(srcdir)/toolkit/Window.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_WindowManager.o: $(srcdir)/toolkit/WindowManager.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_WindowManager.o -c $(srcdir)/toolkit/WindowManager.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/tk_WindowManager_SDL2.o: $(srcdir)/toolkit/WindowManager_SDL2.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager_SDL2.cpp<<<
+ $(CXX) -Wall -O -o debug/tk_WindowManager_SDL2.o -c $(srcdir)/toolkit/WindowManager_SDL2.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### AUDIO
+debug/audio_AudioCD.o: $(srcdir)/audio/AudioCD.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioCD.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioCD.o -c $(srcdir)/audio/AudioCD.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioDecoder_Aiff.o: $(srcdir)/audio/AudioDecoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Aiff.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioDecoder_Aiff.o -c $(srcdir)/audio/AudioDecoder_Aiff.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioDecoder_MP3.o: $(srcdir)/audio/AudioDecoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_MP3.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioDecoder_MP3.o -c $(srcdir)/audio/AudioDecoder_MP3.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioDecoder_Ogg.o: $(srcdir)/audio/AudioDecoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Ogg.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioDecoder_Ogg.o -c $(srcdir)/audio/AudioDecoder_Ogg.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioDecoder_Wave.o: $(srcdir)/audio/AudioDecoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Wave.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioDecoder_Wave.o -c $(srcdir)/audio/AudioDecoder_Wave.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioEncoder_Aiff.o: $(srcdir)/audio/AudioEncoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Aiff.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioEncoder_Aiff.o -c $(srcdir)/audio/AudioEncoder_Aiff.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioEncoder_MP3.o: $(srcdir)/audio/AudioEncoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_MP3.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioEncoder_MP3.o -c $(srcdir)/audio/AudioEncoder_MP3.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioEncoder_Ogg.o: $(srcdir)/audio/AudioEncoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Ogg.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioEncoder_Ogg.o -c $(srcdir)/audio/AudioEncoder_Ogg.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioEncoder_Wave.o: $(srcdir)/audio/AudioEncoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Wave.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioEncoder_Wave.o -c $(srcdir)/audio/AudioEncoder_Wave.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_AudioInfo.o: $(srcdir)/audio/AudioInfo.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioInfo.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_AudioInfo.o -c $(srcdir)/audio/AudioInfo.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_Cddb.o: $(srcdir)/audio/Cddb.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Cddb.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_Cddb.o -c $(srcdir)/audio/Cddb.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_Icecast.o: $(srcdir)/audio/Icecast.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Icecast.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_Icecast.o -c $(srcdir)/audio/Icecast.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_ID3Tag.o: $(srcdir)/audio/ID3Tag.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/ID3Tag.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_ID3Tag.o -c $(srcdir)/audio/ID3Tag.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+debug/audio_Mp3.o: $(srcdir)/audio/Mp3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Mp3.cpp<<<
+ $(CXX) -Wall -O -o debug/audio_Mp3.o -c $(srcdir)/audio/Mp3.cpp -ggdb -D_DEBUG $(CFLAGS) -DDEBUG=DEBUG
+
+### ASM
+debug/asm_blt.o: $(srcdir)/asm/blt.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_blt.o -l debug/asm_blt.lst $(srcdir)/asm/blt.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_blt_blend.o: $(srcdir)/asm/blt_blend.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt_blend.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_blt_blend.o -l debug/asm_blt_blend.lst $(srcdir)/asm/blt_blend.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_chromakey.o: $(srcdir)/asm/chromakey.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/chromakey.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_chromakey.o -l debug/asm_chromakey.lst $(srcdir)/asm/chromakey.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_colors.o: $(srcdir)/asm/colors.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/colors.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_colors.o -l debug/asm_colors.lst $(srcdir)/asm/colors.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_common.o: $(srcdir)/asm/common.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/common.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_common.o -l debug/asm_common.lst $(srcdir)/asm/common.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_cpu.o: $(srcdir)/asm/cpu.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/cpu.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_cpu.o -l debug/asm_cpu.lst $(srcdir)/asm/cpu.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_fonts.o: $(srcdir)/asm/fonts.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/fonts.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_fonts.o -l debug/asm_fonts.lst $(srcdir)/asm/fonts.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_pixel.o: $(srcdir)/asm/pixel.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/pixel.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_pixel.o -l debug/asm_pixel.lst $(srcdir)/asm/pixel.asm -D_DEBUG -DDEBUG=DEBUG
+
+debug/asm_rect.o: $(srcdir)/asm/rect.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/rect.asm<<<
+ $(ASM) $(ASMDEBUGFLAGS) -o debug/asm_rect.o -l debug/asm_rect.lst $(srcdir)/asm/rect.asm -D_DEBUG -DDEBUG=DEBUG
+
+
+###########################################################################
+### Compile Files for CodeCoverage
+###########################################################################
+
+coverage/core_AVLTree.o: $(srcdir)/core/AVLTree.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-algorithms.h
+ ###############################################################################
+ # Compiling >>>core/AVLTree.cpp<<<
+ $(CXX) -Wall -o coverage/core_AVLTree.o -c $(srcdir)/core/AVLTree.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Compat.o: $(srcdir)/core/Compat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compat.cpp<<<
+ $(CXX) -Wall -o coverage/core_Compat.o -c $(srcdir)/core/Compat.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Compression.o: $(srcdir)/core/Compression.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Compression.cpp<<<
+ $(CXX) -Wall -o coverage/core_Compression.o -c $(srcdir)/core/Compression.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_ConfigParser.o: $(srcdir)/core/ConfigParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ConfigParser.cpp<<<
+ $(CXX) -Wall -o coverage/core_ConfigParser.o -c $(srcdir)/core/ConfigParser.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_cpu.o: $(srcdir)/core/cpu.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/cpu.cpp<<<
+ $(CXX) -Wall -o coverage/core_cpu.o -c $(srcdir)/core/cpu.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Dir.o: $(srcdir)/core/Dir.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Dir.cpp<<<
+ $(CXX) -Wall -o coverage/core_Dir.o -c $(srcdir)/core/Dir.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_DirEntry.o: $(srcdir)/core/DirEntry.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/DirEntry.cpp<<<
+ $(CXX) -Wall -o coverage/core_DirEntry.o -c $(srcdir)/core/DirEntry.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Exceptions.o: $(srcdir)/core/Exceptions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Exceptions.cpp<<<
+ $(CXX) -Wall -o coverage/core_Exceptions.o -c $(srcdir)/core/Exceptions.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_File.o: $(srcdir)/core/File.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/File.cpp<<<
+ $(CXX) -Wall -o coverage/core_File.o -c $(srcdir)/core/File.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_FileObject.o: $(srcdir)/core/FileObject.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/FileObject.cpp<<<
+ $(CXX) -Wall -o coverage/core_FileObject.o -c $(srcdir)/core/FileObject.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Functions.o: $(srcdir)/core/Functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Functions.cpp<<<
+ $(CXX) -Wall -o coverage/core_Functions.o -c $(srcdir)/core/Functions.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_GzFile.o: $(srcdir)/core/GzFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/GzFile.cpp<<<
+ $(CXX) -Wall -o coverage/core_GzFile.o -c $(srcdir)/core/GzFile.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Iconv.o: $(srcdir)/core/Iconv.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Iconv.cpp<<<
+ $(CXX) -Wall -o coverage/core_Iconv.o -c $(srcdir)/core/Iconv.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Json.o: $(srcdir)/core/Json.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Json.cpp<<<
+ $(CXX) -Wall -o coverage/core_Json.o -c $(srcdir)/core/Json.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Logger.o: $(srcdir)/core/Logger.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Logger.cpp<<<
+ $(CXX) -Wall -o coverage/core_Logger.o -c $(srcdir)/core/Logger.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_MemFile.o: $(srcdir)/core/MemFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemFile.cpp<<<
+ $(CXX) -Wall -o coverage/core_MemFile.o -c $(srcdir)/core/MemFile.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_MemoryGroup.o: $(srcdir)/core/MemoryGroup.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryGroup.cpp<<<
+ $(CXX) -Wall -o coverage/core_MemoryGroup.o -c $(srcdir)/core/MemoryGroup.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_MemoryHeap.o: $(srcdir)/core/MemoryHeap.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/MemoryHeap.cpp<<<
+ $(CXX) -Wall -o coverage/core_MemoryHeap.o -c $(srcdir)/core/MemoryHeap.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Mutex.o: $(srcdir)/core/Mutex.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Mutex.cpp<<<
+ $(CXX) -Wall -o coverage/core_Mutex.o -c $(srcdir)/core/Mutex.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_PerlHelper.o: $(srcdir)/core/PerlHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PerlHelper.cpp<<<
+ $(CXX) -Wall -o coverage/core_PerlHelper.o -c $(srcdir)/core/PerlHelper.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_PFPFile.o: $(srcdir)/core/PFPFile.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PFPFile.cpp<<<
+ $(CXX) -Wall -o coverage/core_PFPFile.o -c $(srcdir)/core/PFPFile.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_PythonHelper.o: $(srcdir)/core/PythonHelper.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/PythonHelper.cpp<<<
+ $(CXX) -Wall -o coverage/core_PythonHelper.o -c $(srcdir)/core/PythonHelper.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Resource.o: $(srcdir)/core/Resource.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resource.cpp<<<
+ $(CXX) -Wall -o coverage/core_Resource.o -c $(srcdir)/core/Resource.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Resourcen.o: $(srcdir)/core/Resourcen.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Resourcen.cpp<<<
+ $(CXX) -Wall -o coverage/core_Resourcen.o -c $(srcdir)/core/Resourcen.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Signal.o: $(srcdir)/core/Signal.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Signal.cpp<<<
+ $(CXX) -Wall -o coverage/core_Signal.o -c $(srcdir)/core/Signal.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_StringFunctions.o: $(srcdir)/core/StringFunctions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/StringFunctions.cpp<<<
+ $(CXX) -Wall -o coverage/core_StringFunctions.o -c $(srcdir)/core/StringFunctions.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_ThreadPool.o: $(srcdir)/core/ThreadPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/ThreadPool.cpp<<<
+ $(CXX) -Wall -o coverage/core_ThreadPool.o -c $(srcdir)/core/ThreadPool.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Threads.o: $(srcdir)/core/Threads.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Threads.cpp<<<
+ $(CXX) -Wall -o coverage/core_Threads.o -c $(srcdir)/core/Threads.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/core_Time.o: $(srcdir)/core/Time.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>core/Time.cpp<<<
+ $(CXX) -Wall -o coverage/core_Time.o -c $(srcdir)/core/Time.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_Array.o: $(srcdir)/types/Array.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Array.cpp<<<
+ $(CXX) -Wall -o coverage/type_Array.o -c $(srcdir)/types/Array.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_AssocArray.o: $(srcdir)/types/AssocArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/AssocArray.cpp<<<
+ $(CXX) -Wall -o coverage/type_AssocArray.o -c $(srcdir)/types/AssocArray.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_ByteArray.o: $(srcdir)/types/ByteArray.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArray.cpp<<<
+ $(CXX) -Wall -o coverage/type_ByteArray.o -c $(srcdir)/types/ByteArray.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_ByteArrayPtr.o: $(srcdir)/types/ByteArrayPtr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/ByteArrayPtr.cpp<<<
+ $(CXX) -Wall -o coverage/type_ByteArrayPtr.o -c $(srcdir)/types/ByteArrayPtr.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_DateTime.o: $(srcdir)/types/DateTime.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/DateTime.cpp<<<
+ $(CXX) -Wall -o coverage/type_DateTime.o -c $(srcdir)/types/DateTime.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_Pointer.o: $(srcdir)/types/Pointer.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Pointer.cpp<<<
+ $(CXX) -Wall -o coverage/type_Pointer.o -c $(srcdir)/types/Pointer.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_String.o: $(srcdir)/types/String.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/String.cpp<<<
+ $(CXX) -Wall -o coverage/type_String.o -c $(srcdir)/types/String.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_Variant.o: $(srcdir)/types/Variant.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/Variant.cpp<<<
+ $(CXX) -Wall -o coverage/type_Variant.o -c $(srcdir)/types/Variant.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/type_WideString.o: $(srcdir)/types/WideString.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-types.h
+ ###############################################################################
+ # Compiling >>>types/WideString.cpp<<<
+ $(CXX) -Wall -o coverage/type_WideString.o -c $(srcdir)/types/WideString.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/math_ca.o: $(srcdir)/math/calc.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/calc.cpp<<<
+ $(CXX) -Wall -o coverage/math_ca.o -c $(srcdir)/math/calc.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/math_crc32.o: $(srcdir)/math/crc32.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/crc32.cpp<<<
+ $(CXX) -Wall -o coverage/math_crc32.o -c $(srcdir)/math/crc32.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/math_md5.o: $(srcdir)/math/md5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/md5.cpp<<<
+ $(CXX) -Wall -o coverage/math_md5.o -c $(srcdir)/math/md5.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/math_random.o: $(srcdir)/math/random.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile
+ ###############################################################################
+ # Compiling >>>math/random.cpp<<<
+ $(CXX) -Wall -o coverage/math_random.o -c $(srcdir)/math/random.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/crypto_Crypt.o: $(srcdir)/crypto/Crypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Crypt.cpp<<<
+ $(CXX) -Wall -o coverage/crypto_Crypt.o -c $(srcdir)/crypto/Crypt.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/crypto_Digest.o: $(srcdir)/crypto/Digest.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/Digest.cpp<<<
+ $(CXX) -Wall -o coverage/crypto_Digest.o -c $(srcdir)/crypto/Digest.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/crypto_MCrypt.o: $(srcdir)/crypto/MCrypt.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-crypto.h $(incdir)/crypto.h
+ ###############################################################################
+ # Compiling >>>crypto/MCrypt.cpp<<<
+ $(CXX) -Wall -o coverage/crypto_MCrypt.o -c $(srcdir)/crypto/MCrypt.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_curl.o: $(srcdir)/internet/curl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/curl.cpp<<<
+ $(CXX) -Wall -o coverage/inet_curl.o -c $(srcdir)/internet/curl.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_inet_functions.o: $(srcdir)/internet/inet_functions.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/inet_functions.cpp<<<
+ $(CXX) -Wall -o coverage/inet_inet_functions.o -c $(srcdir)/internet/inet_functions.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_ipaddress.o: $(srcdir)/internet/ipaddress.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipaddress.cpp<<<
+ $(CXX) -Wall -o coverage/inet_ipaddress.o -c $(srcdir)/internet/ipaddress.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_ipnetwork.o: $(srcdir)/internet/ipnetwork.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/ipnetwork.cpp<<<
+ $(CXX) -Wall -o coverage/inet_ipnetwork.o -c $(srcdir)/internet/ipnetwork.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_openssl.o: $(srcdir)/internet/openssl.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/openssl.cpp<<<
+ $(CXX) -Wall -o coverage/inet_openssl.o -c $(srcdir)/internet/openssl.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_resolver.o: $(srcdir)/internet/resolver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/resolver.cpp<<<
+ $(CXX) -Wall -o coverage/inet_resolver.o -c $(srcdir)/internet/resolver.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_sockaddr.o: $(srcdir)/internet/sockaddr.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/sockaddr.cpp<<<
+ $(CXX) -Wall -o coverage/inet_sockaddr.o -c $(srcdir)/internet/sockaddr.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_SocketMessage.o: $(srcdir)/internet/SocketMessage.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/SocketMessage.cpp<<<
+ $(CXX) -Wall -o coverage/inet_SocketMessage.o -c $(srcdir)/internet/SocketMessage.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_TCPSocket.o: $(srcdir)/internet/TCPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/TCPSocket.cpp<<<
+ $(CXX) -Wall -o coverage/inet_TCPSocket.o -c $(srcdir)/internet/TCPSocket.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_UDPSocket.o: $(srcdir)/internet/UDPSocket.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/UDPSocket.cpp<<<
+ $(CXX) -Wall -o coverage/inet_UDPSocket.o -c $(srcdir)/internet/UDPSocket.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_Webserver.o: $(srcdir)/internet/Webserver.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/Webserver.cpp<<<
+ $(CXX) -Wall -o coverage/inet_Webserver.o -c $(srcdir)/internet/Webserver.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/inet_WikiParser.o: $(srcdir)/internet/WikiParser.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-inet.h
+ ###############################################################################
+ # Compiling >>>internet/WikiParser.cpp<<<
+ $(CXX) -Wall -o coverage/inet_WikiParser.o -c $(srcdir)/internet/WikiParser.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_Database.o: $(srcdir)/database/Database.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Database.cpp<<<
+ $(CXX) -Wall -o coverage/db_Database.o -c $(srcdir)/database/Database.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_DBPool.o: $(srcdir)/database/DBPool.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPool.cpp<<<
+ $(CXX) -Wall -o coverage/db_DBPool.o -c $(srcdir)/database/DBPool.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_DBPoolOfPools.o: $(srcdir)/database/DBPoolOfPools.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/DBPoolOfPools.cpp<<<
+ $(CXX) -Wall -o coverage/db_DBPoolOfPools.o -c $(srcdir)/database/DBPoolOfPools.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_MySQL.o: $(srcdir)/database/MySQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/MySQL.cpp<<<
+ $(CXX) -Wall -o coverage/db_MySQL.o -c $(srcdir)/database/MySQL.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_PostgreSQL.o: $(srcdir)/database/PostgreSQL.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/PostgreSQL.cpp<<<
+ $(CXX) -Wall -o coverage/db_PostgreSQL.o -c $(srcdir)/database/PostgreSQL.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_ResultSet.o: $(srcdir)/database/ResultSet.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/ResultSet.cpp<<<
+ $(CXX) -Wall -o coverage/db_ResultSet.o -c $(srcdir)/database/ResultSet.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/db_Sqlite3.o: $(srcdir)/database/Sqlite3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-db.h
+ ###############################################################################
+ # Compiling >>>database/Sqlite3.cpp<<<
+ $(CXX) -Wall -o coverage/db_Sqlite3.o -c $(srcdir)/database/Sqlite3.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Color.o: $(srcdir)/grafix/Color.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Color.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Color.o -c $(srcdir)/grafix/Color.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_DrawableBlit.o: $(srcdir)/grafix/DrawableBlit.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableBlit.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_DrawableBlit.o -c $(srcdir)/grafix/DrawableBlit.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_DrawableColor.o: $(srcdir)/grafix/DrawableColor.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableColor.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_DrawableColor.o -c $(srcdir)/grafix/DrawableColor.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Drawable.o: $(srcdir)/grafix/Drawable.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Drawable.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Drawable.o -c $(srcdir)/grafix/Drawable.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_DrawableLines.o: $(srcdir)/grafix/DrawableLines.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableLines.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_DrawableLines.o -c $(srcdir)/grafix/DrawableLines.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_DrawablePixel.o: $(srcdir)/grafix/DrawablePixel.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawablePixel.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_DrawablePixel.o -c $(srcdir)/grafix/DrawablePixel.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_DrawableShapes.o: $(srcdir)/grafix/DrawableShapes.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/DrawableShapes.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_DrawableShapes.o -c $(srcdir)/grafix/DrawableShapes.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Font4.o: $(srcdir)/grafix/Font4.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font4.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Font4.o -c $(srcdir)/grafix/Font4.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Font5.o: $(srcdir)/grafix/Font5.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font5.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Font5.o -c $(srcdir)/grafix/Font5.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Font6.o: $(srcdir)/grafix/Font6.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Font6.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Font6.o -c $(srcdir)/grafix/Font6.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_FontFreeType.o: $(srcdir)/grafix/FontFreeType.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/FontFreeType.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_FontFreeType.o -c $(srcdir)/grafix/FontFreeType.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Fonts.o: $(srcdir)/grafix/Fonts.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Fonts.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Fonts.o -c $(srcdir)/grafix/Fonts.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Grafix.o: $(srcdir)/grafix/Grafix.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Grafix.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Grafix.o -c $(srcdir)/grafix/Grafix.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Image.o: $(srcdir)/grafix/Image.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Image.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Image.o -c $(srcdir)/grafix/Image.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_BMP.o: $(srcdir)/grafix/ImageFilter_BMP.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_BMP.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_BMP.o -c $(srcdir)/grafix/ImageFilter_BMP.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter.o: $(srcdir)/grafix/ImageFilter.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter.o -c $(srcdir)/grafix/ImageFilter.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_GIF.o: $(srcdir)/grafix/ImageFilter_GIF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_GIF.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_GIF.o -c $(srcdir)/grafix/ImageFilter_GIF.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_ImageMagick.o: $(srcdir)/grafix/ImageFilter_ImageMagick.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_ImageMagick.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_ImageMagick.o -c $(srcdir)/grafix/ImageFilter_ImageMagick.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_JPEG.o: $(srcdir)/grafix/ImageFilter_JPEG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_JPEG.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_JPEG.o -c $(srcdir)/grafix/ImageFilter_JPEG.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_PNG.o: $(srcdir)/grafix/ImageFilter_PNG.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PNG.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_PNG.o -c $(srcdir)/grafix/ImageFilter_PNG.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_PPM.o: $(srcdir)/grafix/ImageFilter_PPM.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_PPM.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_PPM.o -c $(srcdir)/grafix/ImageFilter_PPM.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_TGA.o: $(srcdir)/grafix/ImageFilter_TGA.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TGA.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_TGA.o -c $(srcdir)/grafix/ImageFilter_TGA.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageFilter_TIFF.o: $(srcdir)/grafix/ImageFilter_TIFF.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageFilter_TIFF.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageFilter_TIFF.o -c $(srcdir)/grafix/ImageFilter_TIFF.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_ImageList.o: $(srcdir)/grafix/ImageList.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/ImageList.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_ImageList.o -c $(srcdir)/grafix/ImageList.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Point3D.o: $(srcdir)/grafix/Point3D.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point3D.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Point3D.o -c $(srcdir)/grafix/Point3D.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Point.o: $(srcdir)/grafix/Point.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Point.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Point.o -c $(srcdir)/grafix/Point.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Rect.o: $(srcdir)/grafix/Rect.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Rect.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Rect.o -c $(srcdir)/grafix/Rect.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_RGBFormat.o: $(srcdir)/grafix/RGBFormat.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/RGBFormat.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_RGBFormat.o -c $(srcdir)/grafix/RGBFormat.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Size.o: $(srcdir)/grafix/Size.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Size.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Size.o -c $(srcdir)/grafix/Size.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/gfx_Sprite.o: $(srcdir)/grafix/Sprite.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h
+ ###############################################################################
+ # Compiling >>>grafix/Sprite.cpp<<<
+ $(CXX) -Wall -o coverage/gfx_Sprite.o -c $(srcdir)/grafix/Sprite.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Button.o: $(srcdir)/toolkit/Button.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Button.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Button.o -c $(srcdir)/toolkit/Button.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Divider.o: $(srcdir)/toolkit/Divider.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Divider.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Divider.o -c $(srcdir)/toolkit/Divider.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Event.o: $(srcdir)/toolkit/Event.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Event.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Event.o -c $(srcdir)/toolkit/Event.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Frame.o: $(srcdir)/toolkit/Frame.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Frame.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Frame.o -c $(srcdir)/toolkit/Frame.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Label.o: $(srcdir)/toolkit/Label.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Label.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Label.o -c $(srcdir)/toolkit/Label.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Layout.o: $(srcdir)/toolkit/Layout.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Layout.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Layout.o -c $(srcdir)/toolkit/Layout.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_LineInput.o: $(srcdir)/toolkit/LineInput.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/LineInput.cpp<<<
+ $(CXX) -Wall -o coverage/tk_LineInput.o -c $(srcdir)/toolkit/LineInput.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Surface.o: $(srcdir)/toolkit/Surface.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Surface.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Surface.o -c $(srcdir)/toolkit/Surface.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Widget.o: $(srcdir)/toolkit/Widget.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Widget.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Widget.o -c $(srcdir)/toolkit/Widget.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_Window.o: $(srcdir)/toolkit/Window.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/Window.cpp<<<
+ $(CXX) -Wall -o coverage/tk_Window.o -c $(srcdir)/toolkit/Window.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_WindowManager.o: $(srcdir)/toolkit/WindowManager.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager.cpp<<<
+ $(CXX) -Wall -o coverage/tk_WindowManager.o -c $(srcdir)/toolkit/WindowManager.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/tk_WindowManager_SDL2.o: $(srcdir)/toolkit/WindowManager_SDL2.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-grafix.h $(incdir)/ppl7-tk.h
+ ###############################################################################
+ # Compiling >>>toolkit/WindowManager_SDL2.cpp<<<
+ $(CXX) -Wall -o coverage/tk_WindowManager_SDL2.o -c $(srcdir)/toolkit/WindowManager_SDL2.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioCD.o: $(srcdir)/audio/AudioCD.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioCD.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioCD.o -c $(srcdir)/audio/AudioCD.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioDecoder_Aiff.o: $(srcdir)/audio/AudioDecoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Aiff.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioDecoder_Aiff.o -c $(srcdir)/audio/AudioDecoder_Aiff.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioDecoder_MP3.o: $(srcdir)/audio/AudioDecoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_MP3.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioDecoder_MP3.o -c $(srcdir)/audio/AudioDecoder_MP3.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioDecoder_Ogg.o: $(srcdir)/audio/AudioDecoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Ogg.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioDecoder_Ogg.o -c $(srcdir)/audio/AudioDecoder_Ogg.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioDecoder_Wave.o: $(srcdir)/audio/AudioDecoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioDecoder_Wave.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioDecoder_Wave.o -c $(srcdir)/audio/AudioDecoder_Wave.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioEncoder_Aiff.o: $(srcdir)/audio/AudioEncoder_Aiff.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Aiff.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioEncoder_Aiff.o -c $(srcdir)/audio/AudioEncoder_Aiff.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioEncoder_MP3.o: $(srcdir)/audio/AudioEncoder_MP3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_MP3.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioEncoder_MP3.o -c $(srcdir)/audio/AudioEncoder_MP3.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioEncoder_Ogg.o: $(srcdir)/audio/AudioEncoder_Ogg.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Ogg.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioEncoder_Ogg.o -c $(srcdir)/audio/AudioEncoder_Ogg.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioEncoder_Wave.o: $(srcdir)/audio/AudioEncoder_Wave.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioEncoder_Wave.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioEncoder_Wave.o -c $(srcdir)/audio/AudioEncoder_Wave.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_AudioInfo.o: $(srcdir)/audio/AudioInfo.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/AudioInfo.cpp<<<
+ $(CXX) -Wall -o coverage/audio_AudioInfo.o -c $(srcdir)/audio/AudioInfo.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_Cddb.o: $(srcdir)/audio/Cddb.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Cddb.cpp<<<
+ $(CXX) -Wall -o coverage/audio_Cddb.o -c $(srcdir)/audio/Cddb.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_Icecast.o: $(srcdir)/audio/Icecast.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Icecast.cpp<<<
+ $(CXX) -Wall -o coverage/audio_Icecast.o -c $(srcdir)/audio/Icecast.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_ID3Tag.o: $(srcdir)/audio/ID3Tag.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/ID3Tag.cpp<<<
+ $(CXX) -Wall -o coverage/audio_ID3Tag.o -c $(srcdir)/audio/ID3Tag.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/audio_Mp3.o: $(srcdir)/audio/Mp3.cpp $(incdir)/ppl7.h $(incdir)/ppl7-exceptions.h $(incdir)/ppl7-types.h $(incdir)/ppl7-config.h Makefile $(incdir)/ppl7-audio.h
+ ###############################################################################
+ # Compiling >>>audio/Mp3.cpp<<<
+ $(CXX) -Wall -o coverage/audio_Mp3.o -c $(srcdir)/audio/Mp3.cpp $(CFLAGS) @GCOV_CFLAGS@
+
+coverage/asm_blt.o: $(srcdir)/asm/blt.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt.asm<<<
+ $(ASM) -o coverage/asm_blt.o -l coverage/asm_blt.lst $(srcdir)/asm/blt.asm
+
+coverage/asm_blt_blend.o: $(srcdir)/asm/blt_blend.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/blt_blend.asm<<<
+ $(ASM) -o coverage/asm_blt_blend.o -l coverage/asm_blt_blend.lst $(srcdir)/asm/blt_blend.asm
+
+coverage/asm_chromakey.o: $(srcdir)/asm/chromakey.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/chromakey.asm<<<
+ $(ASM) -o coverage/asm_chromakey.o -l coverage/asm_chromakey.lst $(srcdir)/asm/chromakey.asm
+
+coverage/asm_colors.o: $(srcdir)/asm/colors.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/colors.asm<<<
+ $(ASM) -o coverage/asm_colors.o -l coverage/asm_colors.lst $(srcdir)/asm/colors.asm
+
+coverage/asm_common.o: $(srcdir)/asm/common.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/common.asm<<<
+ $(ASM) -o coverage/asm_common.o -l coverage/asm_common.lst $(srcdir)/asm/common.asm
+
+coverage/asm_cpu.o: $(srcdir)/asm/cpu.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/cpu.asm<<<
+ $(ASM) -o coverage/asm_cpu.o -l coverage/asm_cpu.lst $(srcdir)/asm/cpu.asm
+
+coverage/asm_fonts.o: $(srcdir)/asm/fonts.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/fonts.asm<<<
+ $(ASM) -o coverage/asm_fonts.o -l coverage/asm_fonts.lst $(srcdir)/asm/fonts.asm
+
+coverage/asm_pixel.o: $(srcdir)/asm/pixel.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/pixel.asm<<<
+ $(ASM) -o coverage/asm_pixel.o -l coverage/asm_pixel.lst $(srcdir)/asm/pixel.asm
+
+coverage/asm_rect.o: $(srcdir)/asm/rect.asm Makefile
+ ###############################################################################
+ # Compiling >>>asm/rect.asm<<<
+ $(ASM) -o coverage/asm_rect.o -l coverage/asm_rect.lst $(srcdir)/asm/rect.asm
+
+
+
+
diff --git a/src/pplib/PPL7.vcxproj b/src/pplib/PPL7.vcxproj
new file mode 100644
index 0000000..61ce3f4
--- /dev/null
+++ b/src/pplib/PPL7.vcxproj
@@ -0,0 +1,334 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {771F38E9-2735-4C7D-ABAC-2A1FAE923BD5}
+ Win32Proj
+ PPL7
+ 10.0.14393.0
+
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ D:\jenkins\local\include;D:\jenkins\local\include\freetype2;include;$(IncludePath)
+
+
+ D:\jenkins\local\include;D:\jenkins\local\include\freetype2;include;$(IncludePath)
+
+
+
+ NotUsing
+ Level3
+ Disabled
+ PPL7LIB;PPLVISUALC;_DEBUG;_LIB;PPL7LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+
+
+ copy include\ppl7.h c:\local\include
+
+copy include\ppl7-algorithms.h c:\local\include
+copy include\ppl7-audio.h c:\local\include
+copy include\ppl7-crypto.h c:\local\include
+copy include\ppl7-db.h c:\local\include
+copy include\ppl7-exceptions.h c:\local\include
+copy include\ppl7-grafix.h c:\local\include
+copy include\ppl7-inet.h c:\local\include
+copy include\ppl7-tk.h c:\local\include
+copy include\ppl7-types.h c:\local\include
+copy include\ppl7-visualc-config.h c:\local\include\ppl7-config.h
+
+copy "$(OutputPath)\PPL7.lib" c:\local\lib\ppl7_debug.lib
+
+
+
+
+
+
+ Use
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+
+
+
+
+ Level3
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+
+
+
+
+ Level3
+ Use
+ MaxSpeed
+ true
+ true
+ PPL7LIB;PPLVISUALC;NDEBUG;_LIB;%(PreprocessorDefinitions)
+
+
+ Windows
+ true
+ true
+
+
+ copy include\ppl7.h c:\local\include
+
+copy include\ppl7-algorithms.h c:\local\include
+copy include\ppl7-audio.h c:\local\include
+copy include\ppl7-crypto.h c:\local\include
+copy include\ppl7-db.h c:\local\include
+copy include\ppl7-exceptions.h c:\local\include
+copy include\ppl7-grafix.h c:\local\include
+copy include\ppl7-inet.h c:\local\include
+copy include\ppl7-tk.h c:\local\include
+copy include\ppl7-types.h c:\local\include
+copy include\ppl7-visualc-config.h c:\local\include\ppl7-config.h
+
+copy "$(OutputPath)\PPL7.lib" c:\local\lib\ppl7.lib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_blt.lst -o $(IntDir)/asm_blt.obj src/asm/blt.asm
+ $(IntDir)/asm_blt.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_blt.lst -o $(IntDir)/asm_blt.obj src/asm/blt.asm
+ $(IntDir)/asm_blt.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_blt_blend.lst -o $(IntDir)/asm_blt_blend.obj src/asm/blt_blend.asm
+ $(IntDir)/asm_blt_blend.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_blt_blend.lst -o $(IntDir)/asm_blt_blend.obj src/asm/blt_blend.asm
+ $(IntDir)/asm_blt_blend.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_chromakey.lst -o $(IntDir)/asm_chromakey.obj src/asm/chromakey.asm
+ $(IntDir)/asm_chromakey.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_chromakey.lst -o $(IntDir)/asm_chromakey.obj src/asm/chromakey.asm
+ $(IntDir)/asm_chromakey.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_colors.lst -o $(IntDir)/asm_colors.obj src/asm/colors.asm
+ $(IntDir)/asm_colors.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_colors.lst -o $(IntDir)/asm_colors.obj src/asm/colors.asm
+ $(IntDir)/asm_colors.obj
+
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_cpu.lst -o $(IntDir)/asm_cpu.obj src/asm/cpu.asm
+ $(IntDir)/asm_cpu.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_cpu.lst -o $(IntDir)/asm_cpu.obj src/asm/cpu.asm
+ $(IntDir)/asm_cpu.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_fonts.lst -o $(IntDir)/asm_fonts.obj src/asm/fonts.asm
+ $(IntDir)/asm_fonts.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_fonts.lst -o $(IntDir)/asm_fonts.obj src/asm/fonts.asm
+ $(IntDir)/asm_fonts.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_pixel.lst -o $(IntDir)/asm_pixel.obj src/asm/pixel.asm
+ $(IntDir)/asm_pixel.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_pixel.lst -o $(IntDir)/asm_pixel.obj src/asm/pixel.asm
+ $(IntDir)/asm_pixel.obj
+
+
+ false
+ Document
+ false
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_rect.lst -o $(IntDir)/asm_rect.obj src/asm/rect.asm
+ $(IntDir)/asm_rect.obj
+ C:\msys64\usr\bin\nasm.exe -f win64 -l $(IntDir)/asm_rect.lst -o $(IntDir)/asm_rect.obj src/asm/rect.asm
+ $(IntDir)/asm_rect.obj
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pplib/PPL7.vcxproj.filters b/src/pplib/PPL7.vcxproj.filters
new file mode 100644
index 0000000..a8bdc4c
--- /dev/null
+++ b/src/pplib/PPL7.vcxproj.filters
@@ -0,0 +1,322 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {66e3414f-3a67-4d52-8ffc-53c1959c915e}
+
+
+ {3a8e2399-8b23-4023-853c-954a5915e0cd}
+
+
+ {95507578-a2c6-4b6b-b375-3f35bfbb6f93}
+
+
+ {c7dafec5-b489-48f2-8678-407c3550fc4e}
+
+
+ {d39b4bf7-3477-4635-83c3-5f81b0149947}
+
+
+
+
+
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+ Headerdateien
+
+
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Types
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Math
+
+
+ Quelldateien\Math
+
+
+ Quelldateien\Math
+
+
+ Quelldateien\Math
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Grafix
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+ Quelldateien\Core
+
+
+
+
+ Quelldateien\Assembler
+
+
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+ Quelldateien
+
+
+
\ No newline at end of file
diff --git a/src/pplib/README.TXT b/src/pplib/README.TXT
new file mode 100644
index 0000000..5f08612
--- /dev/null
+++ b/src/pplib/README.TXT
@@ -0,0 +1,133 @@
+PPLib - Patrick's Programming Library
+===========================================================================
+
+INDEX
+
+1. What is PPLib?
+2. Installation
+2.1 UNIX
+2.2 Windows
+3. Usage
+4. Documentation
+5. Credits
+6. Copyright
+7. Licence
+
+===========================================================================
+1. What is PPLib?
+
+ PPLib (or PPL) stands for "Patrick's Programming Library" and is a
+ collection of functions and classes for C++ applications, written by
+ Patrick Fedick. It covers file and directory functions, strings and
+ arrays, time, math, threads, graphics, sound, database access and
+ internet communication.
+
+ You can find the newest version and documentation of this library under
+
+ http://www.pfp.de/pplib
+
+
+===========================================================================
+2. Installation
+
+2.1 UNIX
+ The UNIX version comes with a standard configure-script. In most
+ cases it is sufficient to simply do
+
+ ./configure
+ make
+ make install (do this as root)
+
+ The configure script tries to find out on what system the library
+ should be compiled and what optional libraries are available of
+ which PPLib can make use of (e.g. graphic libraries or databases).
+
+ If it does not find a library of which you know that it is
+ installed somewhere, you can manually set a search path for it
+ during configure, e.g.:
+
+ ./configure --with-mysql=/usr/local/mysql
+
+ If you don't want a specific library compiled in, you can deselect
+ it with "--without-xxx', where xxx stands for the library. Example:
+
+ ./configure --without-mysql
+
+ Please see "./configure --help" for a list of all available
+ options.
+
+2.2 Windows
+ PPLib comes with project files for Microsoft Visual Studio .NET 2003,
+ but you have to do some manual configuration to adapt it to your
+ system.
+
+ For more details and examples about installation, please read the HTML
+ documentation.
+
+===========================================================================
+3. Usage
+
+ How to use the functions and classes if PPLib is described in the
+ HTML documentation.
+
+===========================================================================
+4. Documentation
+
+ Documentation is available in HTML and can be found in the subdirectory
+ "documentation/html" of the source distribution and and online on the
+ PPLib webpage:
+
+ http://www.pfp.de/pplib
+
+===========================================================================
+5. Credits
+
+ Some parts of PPLib includes code from other projects or can make use of
+ third party libraries.
+ - MD5-Hash calculation
+ Copyright RSA Data Security, Inc. MD5 Message-Digest Algorithm)
+ - random number generation
+ Copyright (c) 1983, 1993 The Regents of the University of California
+ - CRC32 checksum calculation
+ unknown source
+ - GIF-Reader
+ Copyright 1990, 1991, 1993 by David Koblas
+ - PCRE (http://www.pcre.org/)
+ Copyright (c) 1997-2008 University of Cambridge All rights reserved.
+ - Zlib (http://www.zlib.net/)
+ Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
+ - Bzip2 (http://www.bzip.org/)\n
+ Copyright (C) 1996-2007 Julian R Seward
+
+===========================================================================
+6. Copyright
+
+ PPLib is copyright by Patrick Fedick in 2005-2019
+ All rights reserved.
+
+===========================================================================
+7. Licence
+
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
diff --git a/src/pplib/TODO.TXT b/src/pplib/TODO.TXT
new file mode 100644
index 0000000..cc4444e
--- /dev/null
+++ b/src/pplib/TODO.TXT
@@ -0,0 +1,3 @@
+Compiler-Warnings:
+
+
diff --git a/src/pplib/acinclude.m4 b/src/pplib/acinclude.m4
new file mode 100644
index 0000000..ee18aeb
--- /dev/null
+++ b/src/pplib/acinclude.m4
@@ -0,0 +1,115 @@
+dnl Zusaetzliche Macros
+
+
+#######################################################
+# AX_FPOS_ISSTRUCT
+# Prüft, ob fpos_t ein scalar oder eine structure ist
+#######################################################
+AC_DEFUN([AX_FPOS_ISSTRUCT],[
+AC_MSG_CHECKING(if fpos_t is struct or scalar)
+AC_LANG_PUSH(C++)
+
+
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include
+int main(void){
+fpos_t f;
+f.__pos=1;
+}
+]]) ],
+AC_DEFINE(FPOS_T_STRUCT,1,)
+AC_MSG_RESULT(struct),
+AC_MSG_RESULT(scalar)
+
+)
+
+dnl #AC_DEFINE(FPOS_T_STRUCT,1,),)
+
+AC_LANG_POP(C++)
+
+])
+
+#######################################################
+# AX_TM_HAS_GMTOFF
+# Prüft, ob die structure "tm" das Element "tm_gmtoff"
+# hat
+#######################################################
+AC_DEFUN([AX_TM_HAS_GMTOFF],[
+AC_MSG_CHECKING(if struct tm hast tm_gmtoff)
+AC_LANG_PUSH(C++)
+
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include
+int main(void){
+struct tm tt;
+tt.tm_gmtoff=1;
+}
+]]) ],
+AC_DEFINE(STRUCT_TM_HAS_GMTOFF,1,)
+AC_MSG_RESULT(yes),
+AC_MSG_RESULT(no)
+
+)
+AC_LANG_POP(C++)
+])
+
+
+
+AC_DEFUN([AC_FUNC_VSNPRINTF],
+[AC_CACHE_CHECK(for working vsnprintf,
+ ac_cv_func_vsnprintf,
+[AC_TRY_RUN(
+[#include
+#include
+
+int
+doit(char * s, ...)
+{
+ char buffer[32];
+ va_list args;
+ int r;
+
+ buffer[5] = 'X';
+
+ va_start(args, s);
+ r = vsnprintf(buffer, 5, s, args);
+ va_end(args);
+
+ /* -1 is pre-C99, 7 is C99. */
+
+ if (r != -1 && r != 7)
+ exit(1);
+
+ /* We deliberately do not care if the result is NUL-terminated or
+ not, since this is easy to work around like this. */
+
+ buffer[4] = 0;
+
+ /* Simple sanity check. */
+
+ if (strcmp(buffer, "1234"))
+ exit(1);
+
+ if (buffer[5] != 'X')
+ exit(1);
+
+ exit(0);
+}
+
+int
+main(void)
+{
+ doit("1234567");
+ exit(1);
+}], ac_cv_func_vsnprintf=yes, ac_cv_func_vsnprintf=no, ac_cv_func_vsnprintf=no)])
+dnl Note that the default is to be pessimistic in the case of cross compilation.
+dnl If you know that the target has a sensible vsnprintf(), you can get around this
+dnl by setting ac_func_vsnprintf to yes, as described in the Autoconf manual.
+if test $ac_cv_func_vsnprintf = yes; then
+ AC_DEFINE(HAVE_WORKING_VSNPRINTF, 1,
+ [Define if you have a version of the `vsnprintf' function
+ that honours the size argument and has a proper return value.])
+fi
+])# AC_FUNC_VSNPRINTF
+
+
diff --git a/src/pplib/aclocal.m4 b/src/pplib/aclocal.m4
new file mode 100644
index 0000000..faf3958
--- /dev/null
+++ b/src/pplib/aclocal.m4
@@ -0,0 +1,1849 @@
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
+#
+# DESCRIPTION
+#
+# Check whether the given FLAG works with the current language's compiler
+# or gives an error. (Warnings, however, are ignored)
+#
+# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+# success/failure.
+#
+# If EXTRA-FLAGS is defined, it is added to the current language's default
+# flags (e.g. CFLAGS) when the check is done. The check is thus made with
+# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
+# force the compiler to issue an error when a bad flag is given.
+#
+# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
+#
+# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
+# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Guido U. Draheim
+# Copyright (c) 2011 Maarten Bosmans
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 5
+
+AC_DEFUN([AX_CHECK_COMPILE_FLAG],
+[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
+AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
+AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
+ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
+ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
+ AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
+ [AS_VAR_SET(CACHEVAR,[yes])],
+ [AS_VAR_SET(CACHEVAR,[no])])
+ _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
+AS_VAR_IF(CACHEVAR,yes,
+ [m4_default([$2], :)],
+ [m4_default([$3], :)])
+AS_VAR_POPDEF([CACHEVAR])dnl
+])dnl AX_CHECK_COMPILE_FLAGS
+
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 /dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 Solaris 64-bit Developer's Guide > The Development Environment
+ dnl .
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
+
+dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29.1)
+dnl
+dnl Copyright © 2004 Scott James Remnant .
+dnl Copyright © 2012-2015 Dan Nicholson
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
+
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see .])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.15'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.15.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+#
+#
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard:
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: .
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/src/pplib/autoconf/ax_cc_maxopt.m4 b/src/pplib/autoconf/ax_cc_maxopt.m4
new file mode 100644
index 0000000..f5f7517
--- /dev/null
+++ b/src/pplib/autoconf/ax_cc_maxopt.m4
@@ -0,0 +1,180 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cc_maxopt.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CC_MAXOPT
+#
+# DESCRIPTION
+#
+# Try to turn on "good" C optimization flags for various compilers and
+# architectures, for some definition of "good". (In our case, good for
+# FFTW and hopefully for other scientific codes. Modify as needed.)
+#
+# The user can override the flags by setting the CFLAGS environment
+# variable. The user can also specify --enable-portable-binary in order to
+# disable any optimization flags that might result in a binary that only
+# runs on the host architecture.
+#
+# Note also that the flags assume that ANSI C aliasing rules are followed
+# by the code (e.g. for gcc's -fstrict-aliasing), and that floating-point
+# computations can be re-ordered as needed.
+#
+# Requires macros: AX_CHECK_COMPILE_FLAG, AX_COMPILER_VENDOR,
+# AX_GCC_ARCHFLAG, AX_GCC_X86_CPUID.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2008 Matteo Frigo
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 13
+
+AC_DEFUN([AX_CC_MAXOPT],
+[
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AX_COMPILER_VENDOR])
+AC_REQUIRE([AC_CANONICAL_HOST])
+
+AC_ARG_ENABLE(portable-binary, [AS_HELP_STRING([--enable-portable-binary], [disable compiler optimizations that would produce unportable binaries])],
+ acx_maxopt_portable=$enableval, acx_maxopt_portable=no)
+
+# Try to determine "good" native compiler flags if none specified via CFLAGS
+if test "$ac_test_CFLAGS" != "set"; then
+ CFLAGS=""
+ case $ax_cv_c_compiler_vendor in
+ dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host"
+ if test "x$acx_maxopt_portable" = xno; then
+ CFLAGS="$CFLAGS -arch host"
+ fi;;
+
+ sun) CFLAGS="-native -fast -xO5 -dalign"
+ if test "x$acx_maxopt_portable" = xyes; then
+ CFLAGS="$CFLAGS -xarch=generic"
+ fi;;
+
+ hp) CFLAGS="+Oall +Optrs_ansi +DSnative"
+ if test "x$acx_maxopt_portable" = xyes; then
+ CFLAGS="$CFLAGS +DAportable"
+ fi;;
+
+ ibm) if test "x$acx_maxopt_portable" = xno; then
+ xlc_opt="-qarch=auto -qtune=auto"
+ else
+ xlc_opt="-qtune=auto"
+ fi
+ AX_CHECK_COMPILE_FLAG($xlc_opt,
+ CFLAGS="-O3 -qansialias -w $xlc_opt",
+ [CFLAGS="-O3 -qansialias -w"
+ echo "******************************************************"
+ echo "* You seem to have the IBM C compiler. It is *"
+ echo "* recommended for best performance that you use: *"
+ echo "* *"
+ echo "* CFLAGS=-O3 -qarch=xxx -qtune=xxx -qansialias -w *"
+ echo "* ^^^ ^^^ *"
+ echo "* where xxx is pwr2, pwr3, 604, or whatever kind of *"
+ echo "* CPU you have. (Set the CFLAGS environment var. *"
+ echo "* and re-run configure.) For more info, man cc. *"
+ echo "******************************************************"])
+ ;;
+
+ intel) CFLAGS="-O3 -ansi_alias"
+ if test "x$acx_maxopt_portable" = xno; then
+ icc_archflag=unknown
+ icc_flags=""
+ case $host_cpu in
+ i686*|x86_64*)
+ # icc accepts gcc assembly syntax, so these should work:
+ AX_GCC_X86_CPUID(0)
+ AX_GCC_X86_CPUID(1)
+ case $ax_cv_gcc_x86_cpuid_0 in # see AX_GCC_ARCHFLAG
+ *:756e6547:*:*) # Intel
+ case $ax_cv_gcc_x86_cpuid_1 in
+ *6a?:*[[234]]:*:*|*6[[789b]]?:*:*:*) icc_flags="-xK";;
+ *f3[[347]]:*:*:*|*f4[1347]:*:*:*) icc_flags="-xP -xN -xW -xK";;
+ *f??:*:*:*) icc_flags="-xN -xW -xK";;
+ esac ;;
+ esac ;;
+ esac
+ if test "x$icc_flags" != x; then
+ for flag in $icc_flags; do
+ AX_CHECK_COMPILE_FLAG($flag, [icc_archflag=$flag; break])
+ done
+ fi
+ AC_MSG_CHECKING([for icc architecture flag])
+ AC_MSG_RESULT($icc_archflag)
+ if test "x$icc_archflag" != xunknown; then
+ CFLAGS="$CFLAGS $icc_archflag"
+ fi
+ fi
+ ;;
+
+ gnu)
+ # default optimization flags for gcc on all systems
+ CFLAGS="-O3 -fomit-frame-pointer"
+
+ # -malign-double for x86 systems
+ AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
+
+ # -fstrict-aliasing for gcc-2.95+
+ AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
+ CFLAGS="$CFLAGS -fstrict-aliasing")
+
+ # note that we enable "unsafe" fp optimization with other compilers, too
+ AX_CHECK_COMPILE_FLAG(-ffast-math, CFLAGS="$CFLAGS -ffast-math")
+
+ AX_GCC_ARCHFLAG($acx_maxopt_portable)
+ ;;
+ esac
+
+ if test -z "$CFLAGS"; then
+ echo ""
+ echo "********************************************************"
+ echo "* WARNING: Don't know the best CFLAGS for this system *"
+ echo "* Use ./configure CFLAGS=... to specify your own flags *"
+ echo "* (otherwise, a default of CFLAGS=-O3 will be used) *"
+ echo "********************************************************"
+ echo ""
+ CFLAGS="-O3"
+ fi
+
+ AX_CHECK_COMPILE_FLAG($CFLAGS, [], [
+ echo ""
+ echo "********************************************************"
+ echo "* WARNING: The guessed CFLAGS don't seem to work with *"
+ echo "* your compiler. *"
+ echo "* Use ./configure CFLAGS=... to specify your own flags *"
+ echo "********************************************************"
+ echo ""
+ CFLAGS=""
+ ])
+
+fi
+])
diff --git a/src/pplib/autoconf/ax_check_compiler_flags.m4 b/src/pplib/autoconf/ax_check_compiler_flags.m4
new file mode 100644
index 0000000..05e5c3b
--- /dev/null
+++ b/src/pplib/autoconf/ax_check_compiler_flags.m4
@@ -0,0 +1,78 @@
+# ===========================================================================
+# http://autoconf-archive.cryp.to/ax_check_compiler_flags.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_COMPILER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE])
+#
+# DESCRIPTION
+#
+# Check whether the given compiler FLAGS work with the current language's
+# compiler, or whether they give an error. (Warnings, however, are
+# ignored.)
+#
+# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
+# success/failure.
+#
+# LAST MODIFICATION
+#
+# 2008-04-12
+#
+# COPYLEFT
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2008 Matteo Frigo
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Macro Archive. When you make and
+# distribute a modified version of the Autoconf Macro, you may extend this
+# special exception to the GPL to apply to your modified version as well.
+
+AC_DEFUN([AX_CHECK_COMPILER_FLAGS],
+[AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX
+AC_MSG_CHECKING([whether _AC_LANG compiler accepts $1])
+dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
+AS_LITERAL_IF([$1],
+ [AC_CACHE_VAL(AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1), [
+ ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
+ _AC_LANG_PREFIX[]FLAGS="$1"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+ AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=yes,
+ AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=no)
+ _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])],
+ [ax_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS
+ _AC_LANG_PREFIX[]FLAGS="$1"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+ eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=yes,
+ eval AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)=no)
+ _AC_LANG_PREFIX[]FLAGS=$ax_save_FLAGS])
+eval ax_check_compiler_flags=$AS_TR_SH(ax_cv_[]_AC_LANG_ABBREV[]_flags_$1)
+AC_MSG_RESULT($ax_check_compiler_flags)
+if test "x$ax_check_compiler_flags" = xyes; then
+ m4_default([$2], :)
+else
+ m4_default([$3], :)
+fi
+])dnl AX_CHECK_COMPILER_FLAGS
diff --git a/src/pplib/autoconf/ax_check_openssl.m4 b/src/pplib/autoconf/ax_check_openssl.m4
new file mode 100644
index 0000000..f5f6b4c
--- /dev/null
+++ b/src/pplib/autoconf/ax_check_openssl.m4
@@ -0,0 +1,130 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]])
+#
+# DESCRIPTION
+#
+# Look for OpenSSL in a number of default spots, or in a user-selected
+# spot (via --with-openssl). Sets
+#
+# OPENSSL_INCLUDES to the include directives required
+# OPENSSL_LIBS to the -l directives required
+# OPENSSL_LDFLAGS to the -L or -R flags required
+#
+# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately
+#
+# This macro sets OPENSSL_INCLUDES such that source files should use the
+# openssl/ directory in include directives:
+#
+# #include
+#
+# LICENSE
+#
+# Copyright (c) 2009,2010 Zmanda Inc.
+# Copyright (c) 2009,2010 Dustin J. Mitchell
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 10
+
+AU_ALIAS([CHECK_SSL], [AX_CHECK_OPENSSL])
+AC_DEFUN([AX_CHECK_OPENSSL], [
+ found=false
+ AC_ARG_WITH([openssl],
+ [AS_HELP_STRING([--with-openssl=DIR],
+ [root of the OpenSSL directory])],
+ [
+ case "$withval" in
+ "" | y | ye | yes | n | no)
+ AC_MSG_ERROR([Invalid --with-openssl value])
+ ;;
+ *) ssldirs="$withval"
+ ;;
+ esac
+ ], [
+ # if pkg-config is installed and openssl has installed a .pc file,
+ # then use that information and don't search ssldirs
+ AC_CHECK_TOOL([PKG_CONFIG], [pkg-config])
+ if test x"$PKG_CONFIG" != x""; then
+ OPENSSL_LDFLAGS=`$PKG_CONFIG openssl --libs-only-L 2>/dev/null`
+ if test $? = 0; then
+ OPENSSL_LIBS=`$PKG_CONFIG openssl --libs-only-l 2>/dev/null`
+ OPENSSL_INCLUDES=`$PKG_CONFIG openssl --cflags-only-I 2>/dev/null`
+ found=true
+ fi
+ fi
+
+ # no such luck; use some default ssldirs
+ if ! $found; then
+ ssldirs="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr"
+ fi
+ ]
+ )
+
+
+ # note that we #include , so the OpenSSL headers have to be in
+ # an 'openssl' subdirectory
+
+ if ! $found; then
+ OPENSSL_INCLUDES=
+ for ssldir in $ssldirs; do
+ AC_MSG_CHECKING([for openssl/ssl.h in $ssldir])
+ if test -f "$ssldir/include/openssl/ssl.h"; then
+ OPENSSL_INCLUDES="-I$ssldir/include"
+ OPENSSL_LDFLAGS="-L$ssldir/lib"
+ OPENSSL_LIBS="-lssl -lcrypto"
+ found=true
+ AC_MSG_RESULT([yes])
+ break
+ else
+ AC_MSG_RESULT([no])
+ fi
+ done
+
+ # if the file wasn't found, well, go ahead and try the link anyway -- maybe
+ # it will just work!
+ fi
+
+ # try the preprocessor and linker with our new flags,
+ # being careful not to pollute the global LIBS, LDFLAGS, and CPPFLAGS
+
+ AC_MSG_CHECKING([whether compiling and linking against OpenSSL works])
+ echo "Trying link with OPENSSL_LDFLAGS=$OPENSSL_LDFLAGS;" \
+ "OPENSSL_LIBS=$OPENSSL_LIBS; OPENSSL_INCLUDES=$OPENSSL_INCLUDES" >&AS_MESSAGE_LOG_FD
+
+ save_LIBS="$LIBS"
+ save_LDFLAGS="$LDFLAGS"
+ save_CPPFLAGS="$CPPFLAGS"
+ LDFLAGS="$LDFLAGS $OPENSSL_LDFLAGS"
+ LIBS="$OPENSSL_LIBS $LIBS"
+ CPPFLAGS="$OPENSSL_INCLUDES $CPPFLAGS"
+ case "${host_cpu}-${host_os}" in
+ *mingw32*|*msys*)
+ LIBS="$LIBS -lwsock32 -luser32 -lgdi32"
+ ;;
+ esac
+
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([#include ], [SSL_new(NULL)])],
+ [
+ AC_MSG_RESULT([yes])
+ $1
+ ], [
+ AC_MSG_RESULT([no])
+ $2
+ ])
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+
+ AC_SUBST([OPENSSL_INCLUDES])
+ AC_SUBST([OPENSSL_LIBS])
+ AC_SUBST([OPENSSL_LDFLAGS])
+])
diff --git a/src/pplib/autoconf/ax_check_zlib.m4 b/src/pplib/autoconf/ax_check_zlib.m4
new file mode 100644
index 0000000..ae5705f
--- /dev/null
+++ b/src/pplib/autoconf/ax_check_zlib.m4
@@ -0,0 +1,142 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_check_zlib.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_ZLIB([action-if-found], [action-if-not-found])
+#
+# DESCRIPTION
+#
+# This macro searches for an installed zlib library. If nothing was
+# specified when calling configure, it searches first in /usr/local and
+# then in /usr, /opt/local and /sw. If the --with-zlib=DIR is specified,
+# it will try to find it in DIR/include/zlib.h and DIR/lib/libz.a. If
+# --without-zlib is specified, the library is not searched at all.
+#
+# If either the header file (zlib.h) or the library (libz) is not found,
+# shell commands 'action-if-not-found' is run. If 'action-if-not-found' is
+# not specified, the configuration exits on error, asking for a valid zlib
+# installation directory or --without-zlib.
+#
+# If both header file and library are found, shell commands
+# 'action-if-found' is run. If 'action-if-found' is not specified, the
+# default action appends '-I${ZLIB_HOME}/include' to CPFLAGS, appends
+# '-L$ZLIB_HOME}/lib' to LDFLAGS, prepends '-lz' to LIBS, and calls
+# AC_DEFINE(HAVE_LIBZ). You should use autoheader to include a definition
+# for this symbol in a config.h file. Sample usage in a C/C++ source is as
+# follows:
+#
+# #ifdef HAVE_LIBZ
+# #include
+# #endif /* HAVE_LIBZ */
+#
+# LICENSE
+#
+# Copyright (c) 2008 Loic Dachary
+# Copyright (c) 2010 Bastien Chevreux
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 14
+
+AU_ALIAS([CHECK_ZLIB], [AX_CHECK_ZLIB])
+AC_DEFUN([AX_CHECK_ZLIB],
+#
+# Handle user hints
+#
+[AC_MSG_CHECKING(if zlib is wanted)
+zlib_places="/usr/local /usr /opt/local /sw"
+AC_ARG_WITH([zlib],
+[ --with-zlib=DIR root directory path of zlib installation @<:@defaults to
+ /usr/local or /usr if not found in /usr/local@:>@
+ --without-zlib to disable zlib usage completely],
+[if test "$withval" != no ; then
+ AC_MSG_RESULT(yes)
+ if test -d "$withval"
+ then
+ zlib_places="$withval $zlib_places"
+ else
+ AC_MSG_WARN([Sorry, $withval does not exist, checking usual places])
+ fi
+else
+ zlib_places=
+ AC_MSG_RESULT(no)
+fi],
+[AC_MSG_RESULT(yes)])
+
+#
+# Locate zlib, if wanted
+#
+if test -n "${zlib_places}"
+then
+ # check the user supplied or any other more or less 'standard' place:
+ # Most UNIX systems : /usr/local and /usr
+ # MacPorts / Fink on OSX : /opt/local respectively /sw
+ for ZLIB_HOME in ${zlib_places} ; do
+ if test -f "${ZLIB_HOME}/include/zlib.h"; then break; fi
+ ZLIB_HOME=""
+ done
+
+ ZLIB_OLD_LDFLAGS=$LDFLAGS
+ ZLIB_OLD_CPPFLAGS=$CPPFLAGS
+ if test -n "${ZLIB_HOME}"; then
+ LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
+ CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include"
+ fi
+ AC_LANG_SAVE
+ AC_LANG_C
+ AC_CHECK_LIB([z], [inflateEnd], [zlib_cv_libz=yes], [zlib_cv_libz=no])
+ AC_CHECK_HEADER([zlib.h], [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no])
+ AC_LANG_RESTORE
+ if test "$zlib_cv_libz" = "yes" && test "$zlib_cv_zlib_h" = "yes"
+ then
+ #
+ # If both library and header were found, action-if-found
+ #
+ m4_ifblank([$1],[
+ CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include"
+ LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib"
+ LIBS="-lz $LIBS"
+ AC_DEFINE([HAVE_LIBZ], [1],
+ [Define to 1 if you have `z' library (-lz)])
+ ],[
+ # Restore variables
+ LDFLAGS="$ZLIB_OLD_LDFLAGS"
+ CPPFLAGS="$ZLIB_OLD_CPPFLAGS"
+ $1
+ ])
+ else
+ #
+ # If either header or library was not found, action-if-not-found
+ #
+ m4_default([$2],[
+ AC_MSG_ERROR([either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib])
+ ])
+ fi
+fi
+])
diff --git a/src/pplib/autoconf/ax_cxx_compile_stdcxx.m4 b/src/pplib/autoconf/ax_cxx_compile_stdcxx.m4
new file mode 100644
index 0000000..079e17d
--- /dev/null
+++ b/src/pplib/autoconf/ax_cxx_compile_stdcxx.m4
@@ -0,0 +1,558 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the specified
+# version of the C++ standard. If necessary, add switches to CXXFLAGS to
+# enable support. VERSION may be '11' (for the C++11 standard) or '14'
+# (for the C++14 standard).
+#
+# The second argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The third argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline support for the specified C++ standard is
+# required and that the macro should error out if no mode with that
+# support is found. If specified 'optional', then configuration proceeds
+# regardless, after defining HAVE_CXX${VERSION} if and only if a
+# supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik
+# Copyright (c) 2012 Zack Weinberg
+# Copyright (c) 2013 Roy Stogner
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov
+# Copyright (c) 2015 Paul Norman
+# Copyright (c) 2015 Moritz Klammler
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
+dnl (serial version number 13).
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
+ m4_if([$1], [11], [],
+ [$1], [14], [],
+ [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])],
+ [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$2], [], [],
+ [$2], [ext], [],
+ [$2], [noext], [],
+ [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl
+ m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true],
+ [$3], [optional], [ax_cxx_compile_cxx$1_required=false],
+ [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])])
+ AC_LANG_PUSH([C++])dnl
+ ac_success=no
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features by default,
+ ax_cv_cxx_compile_cxx$1,
+ [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [ax_cv_cxx_compile_cxx$1=yes],
+ [ax_cv_cxx_compile_cxx$1=no])])
+ if test x$ax_cv_cxx_compile_cxx$1 = xyes; then
+ ac_success=yes
+ fi
+
+ m4_if([$2], [noext], [], [dnl
+ if test x$ac_success = xno; then
+ for switch in -std=gnu++$1 -std=gnu++0x; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+
+ m4_if([$2], [ext], [], [dnl
+ if test x$ac_success = xno; then
+ dnl HP's aCC needs +std=c++11 according to:
+ dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
+ dnl Cray's crayCC needs "-h std=c++11"
+ for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do
+ cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch])
+ AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch,
+ $cachevar,
+ [ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $switch"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])],
+ [eval $cachevar=yes],
+ [eval $cachevar=no])
+ CXXFLAGS="$ac_save_CXXFLAGS"])
+ if eval test x\$$cachevar = xyes; then
+ CXXFLAGS="$CXXFLAGS $switch"
+ ac_success=yes
+ break
+ fi
+ done
+ fi])
+ AC_LANG_POP([C++])
+ if test x$ax_cxx_compile_cxx$1_required = xtrue; then
+ if test x$ac_success = xno; then
+ AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.])
+ fi
+ else
+ if test x$ac_success = xno; then
+ HAVE_CXX$1=0
+ AC_MSG_NOTICE([No compiler with C++$1 support was found])
+ else
+ HAVE_CXX$1=1
+ AC_DEFINE(HAVE_CXX$1,1,
+ [define if the compiler supports basic C++$1 syntax])
+ fi
+
+ AC_SUBST(HAVE_CXX$1)
+ fi
+])
+
+
+dnl Test body for checking C++11 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+)
+
+
+dnl Test body for checking C++14 support
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14],
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_11
+ _AX_CXX_COMPILE_STDCXX_testbody_new_in_14
+)
+
+
+dnl Tests for new features in C++11
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[
+
+// If the compiler admits that it is not ready for C++11, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201103L
+
+#error "This is not a C++11 compiler"
+
+#else
+
+namespace cxx11
+{
+
+ namespace test_static_assert
+ {
+
+ template
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ }
+
+ namespace test_final_override
+ {
+
+ struct Base
+ {
+ virtual void f() {}
+ };
+
+ struct Derived : public Base
+ {
+ virtual void f() override {}
+ };
+
+ }
+
+ namespace test_double_right_angle_brackets
+ {
+
+ template < typename T >
+ struct check {};
+
+ typedef check single_type;
+ typedef check> double_type;
+ typedef check>> triple_type;
+ typedef check>>> quadruple_type;
+
+ }
+
+ namespace test_decltype
+ {
+
+ int
+ f()
+ {
+ int a = 1;
+ decltype(a) b = 2;
+ return a + b;
+ }
+
+ }
+
+ namespace test_type_deduction
+ {
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static const bool value = false;
+ };
+
+ template < typename T >
+ struct is_same
+ {
+ static const bool value = true;
+ };
+
+ template < typename T1, typename T2 >
+ auto
+ add(T1 a1, T2 a2) -> decltype(a1 + a2)
+ {
+ return a1 + a2;
+ }
+
+ int
+ test(const int c, volatile int v)
+ {
+ static_assert(is_same::value == true, "");
+ static_assert(is_same::value == false, "");
+ static_assert(is_same::value == false, "");
+ auto ac = c;
+ auto av = v;
+ auto sumi = ac + av + 'x';
+ auto sumf = ac + av + 1.0;
+ static_assert(is_same::value == true, "");
+ static_assert(is_same::value == true, "");
+ static_assert(is_same::value == true, "");
+ static_assert(is_same::value == false, "");
+ static_assert(is_same::value == true, "");
+ return (sumf > 0.0) ? sumi : add(c, v);
+ }
+
+ }
+
+ namespace test_noexcept
+ {
+
+ int f() { return 0; }
+ int g() noexcept { return 0; }
+
+ static_assert(noexcept(f()) == false, "");
+ static_assert(noexcept(g()) == true, "");
+
+ }
+
+ namespace test_constexpr
+ {
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
+ {
+ return *s ? strlen_c_r(s + 1, acc + 1) : acc;
+ }
+
+ template < typename CharT >
+ unsigned long constexpr
+ strlen_c(const CharT *const s) noexcept
+ {
+ return strlen_c_r(s, 0UL);
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("1") == 1UL, "");
+ static_assert(strlen_c("example") == 7UL, "");
+ static_assert(strlen_c("another\0example") == 7UL, "");
+
+ }
+
+ namespace test_rvalue_references
+ {
+
+ template < int N >
+ struct answer
+ {
+ static constexpr int value = N;
+ };
+
+ answer<1> f(int&) { return answer<1>(); }
+ answer<2> f(const int&) { return answer<2>(); }
+ answer<3> f(int&&) { return answer<3>(); }
+
+ void
+ test()
+ {
+ int i = 0;
+ const int c = 0;
+ static_assert(decltype(f(i))::value == 1, "");
+ static_assert(decltype(f(c))::value == 2, "");
+ static_assert(decltype(f(0))::value == 3, "");
+ }
+
+ }
+
+ namespace test_uniform_initialization
+ {
+
+ struct test
+ {
+ static const int zero {};
+ static const int one {1};
+ };
+
+ static_assert(test::zero == 0, "");
+ static_assert(test::one == 1, "");
+
+ }
+
+ namespace test_lambdas
+ {
+
+ void
+ test1()
+ {
+ auto lambda1 = [](){};
+ auto lambda2 = lambda1;
+ lambda1();
+ lambda2();
+ }
+
+ int
+ test2()
+ {
+ auto a = [](int i, int j){ return i + j; }(1, 2);
+ auto b = []() -> int { return '0'; }();
+ auto c = [=](){ return a + b; }();
+ auto d = [&](){ return c; }();
+ auto e = [a, &b](int x) mutable {
+ const auto identity = [](int y){ return y; };
+ for (auto i = 0; i < a; ++i)
+ a += b--;
+ return x + identity(a + b);
+ }(0);
+ return a + b + c + d + e;
+ }
+
+ int
+ test3()
+ {
+ const auto nullary = [](){ return 0; };
+ const auto unary = [](int x){ return x; };
+ using nullary_t = decltype(nullary);
+ using unary_t = decltype(unary);
+ const auto higher1st = [](nullary_t f){ return f(); };
+ const auto higher2nd = [unary](nullary_t f1){
+ return [unary, f1](unary_t f2){ return f2(unary(f1())); };
+ };
+ return higher1st(nullary) + higher2nd(nullary)(unary);
+ }
+
+ }
+
+ namespace test_variadic_templates
+ {
+
+ template
+ struct sum;
+
+ template
+ struct sum
+ {
+ static constexpr auto value = N0 + sum::value;
+ };
+
+ template <>
+ struct sum<>
+ {
+ static constexpr auto value = 0;
+ };
+
+ static_assert(sum<>::value == 0, "");
+ static_assert(sum<1>::value == 1, "");
+ static_assert(sum<23>::value == 23, "");
+ static_assert(sum<1, 2>::value == 3, "");
+ static_assert(sum<5, 5, 11>::value == 21, "");
+ static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
+
+ }
+
+ // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
+ // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
+ // because of this.
+ namespace test_template_alias_sfinae
+ {
+
+ struct foo {};
+
+ template
+ using member = typename T::member_type;
+
+ template
+ void func(...) {}
+
+ template
+ void func(member*) {}
+
+ void test();
+
+ void test() { func(0); }
+
+ }
+
+} // namespace cxx11
+
+#endif // __cplusplus >= 201103L
+
+]])
+
+
+dnl Tests for new features in C++14
+
+m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[
+
+// If the compiler admits that it is not ready for C++14, why torture it?
+// Hopefully, this will speed up the test.
+
+#ifndef __cplusplus
+
+#error "This is not a C++ compiler"
+
+#elif __cplusplus < 201402L
+
+#error "This is not a C++14 compiler"
+
+#else
+
+namespace cxx14
+{
+
+ namespace test_polymorphic_lambdas
+ {
+
+ int
+ test()
+ {
+ const auto lambda = [](auto&&... args){
+ const auto istiny = [](auto x){
+ return (sizeof(x) == 1UL) ? 1 : 0;
+ };
+ const int aretiny[] = { istiny(args)... };
+ return aretiny[0];
+ };
+ return lambda(1, 1L, 1.0f, '1');
+ }
+
+ }
+
+ namespace test_binary_literals
+ {
+
+ constexpr auto ivii = 0b0000000000101010;
+ static_assert(ivii == 42, "wrong value");
+
+ }
+
+ namespace test_generalized_constexpr
+ {
+
+ template < typename CharT >
+ constexpr unsigned long
+ strlen_c(const CharT *const s) noexcept
+ {
+ auto length = 0UL;
+ for (auto p = s; *p; ++p)
+ ++length;
+ return length;
+ }
+
+ static_assert(strlen_c("") == 0UL, "");
+ static_assert(strlen_c("x") == 1UL, "");
+ static_assert(strlen_c("test") == 4UL, "");
+ static_assert(strlen_c("another\0test") == 7UL, "");
+
+ }
+
+ namespace test_lambda_init_capture
+ {
+
+ int
+ test()
+ {
+ auto x = 0;
+ const auto lambda1 = [a = x](int b){ return a + b; };
+ const auto lambda2 = [a = lambda1(x)](){ return a; };
+ return lambda2();
+ }
+
+ }
+
+ namespace test_digit_seperators
+ {
+
+ constexpr auto ten_million = 100'000'000;
+ static_assert(ten_million == 100000000, "");
+
+ }
+
+ namespace test_return_type_deduction
+ {
+
+ auto f(int& x) { return x; }
+ decltype(auto) g(int& x) { return x; }
+
+ template < typename T1, typename T2 >
+ struct is_same
+ {
+ static constexpr auto value = false;
+ };
+
+ template < typename T >
+ struct is_same
+ {
+ static constexpr auto value = true;
+ };
+
+ int
+ test()
+ {
+ auto x = 0;
+ static_assert(is_same::value, "");
+ static_assert(is_same::value, "");
+ return x;
+ }
+
+ }
+
+} // namespace cxx14
+
+#endif // __cplusplus >= 201402L
+
+]])
diff --git a/src/pplib/autoconf/ax_cxx_compile_stdcxx_11.m4 b/src/pplib/autoconf/ax_cxx_compile_stdcxx_11.m4
new file mode 100644
index 0000000..09db383
--- /dev/null
+++ b/src/pplib/autoconf/ax_cxx_compile_stdcxx_11.m4
@@ -0,0 +1,39 @@
+# ============================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_11.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX_11([ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the C++11
+# standard; if necessary, add switches to CXXFLAGS to enable support.
+#
+# This macro is a convenience alias for calling the AX_CXX_COMPILE_STDCXX
+# macro with the version set to C++11. The two optional arguments are
+# forwarded literally as the second and third argument respectively.
+# Please see the documentation for the AX_CXX_COMPILE_STDCXX macro for
+# more information. If you want to use this macro, you also need to
+# download the ax_cxx_compile_stdcxx.m4 file.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik
+# Copyright (c) 2012 Zack Weinberg
+# Copyright (c) 2013 Roy Stogner
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov
+# Copyright (c) 2015 Paul Norman
+# Copyright (c) 2015 Moritz Klammler
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 14
+
+include([ax_cxx_compile_stdcxx.m4])
+
+AC_DEFUN([AX_CXX_COMPILE_STDCXX_11], [AX_CXX_COMPILE_STDCXX([11], [$1], [$2])])
diff --git a/src/pplib/autoconf/ax_gcc_archflag.m4 b/src/pplib/autoconf/ax_gcc_archflag.m4
new file mode 100644
index 0000000..af5fc1f
--- /dev/null
+++ b/src/pplib/autoconf/ax_gcc_archflag.m4
@@ -0,0 +1,225 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_gcc_archflag.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_GCC_ARCHFLAG([PORTABLE?], [ACTION-SUCCESS], [ACTION-FAILURE])
+#
+# DESCRIPTION
+#
+# This macro tries to guess the "native" arch corresponding to the target
+# architecture for use with gcc's -march=arch or -mtune=arch flags. If
+# found, the cache variable $ax_cv_gcc_archflag is set to this flag and
+# ACTION-SUCCESS is executed; otherwise $ax_cv_gcc_archflag is set to
+# "unknown" and ACTION-FAILURE is executed. The default ACTION-SUCCESS is
+# to add $ax_cv_gcc_archflag to the end of $CFLAGS.
+#
+# PORTABLE? should be either [yes] (default) or [no]. In the former case,
+# the flag is set to -mtune (or equivalent) so that the architecture is
+# only used for tuning, but the instruction set used is still portable. In
+# the latter case, the flag is set to -march (or equivalent) so that
+# architecture-specific instructions are enabled.
+#
+# The user can specify --with-gcc-arch= in order to override the
+# macro's choice of architecture, or --without-gcc-arch to disable this.
+#
+# When cross-compiling, or if $CC is not gcc, then ACTION-FAILURE is
+# called unless the user specified --with-gcc-arch manually.
+#
+# Requires macros: AX_CHECK_COMPILE_FLAG, AX_GCC_X86_CPUID
+#
+# (The main emphasis here is on recent CPUs, on the principle that doing
+# high-performance computing on old hardware is uncommon.)
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2008 Matteo Frigo
+# Copyright (c) 2012 Tsukasa Oi
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 13
+
+AC_DEFUN([AX_GCC_ARCHFLAG],
+[AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_CANONICAL_HOST])
+
+AC_ARG_WITH(gcc-arch, [AS_HELP_STRING([--with-gcc-arch=], [use architecture for gcc -march/-mtune, instead of guessing])],
+ ax_gcc_arch=$withval, ax_gcc_arch=yes)
+
+AC_MSG_CHECKING([for gcc architecture flag])
+AC_MSG_RESULT([])
+AC_CACHE_VAL(ax_cv_gcc_archflag,
+[
+ax_cv_gcc_archflag="unknown"
+
+if test "$GCC" = yes; then
+
+if test "x$ax_gcc_arch" = xyes; then
+ax_gcc_arch=""
+if test "$cross_compiling" = no; then
+case $host_cpu in
+ i[[3456]]86*|x86_64*|amd64*) # use cpuid codes
+ AX_GCC_X86_CPUID(0)
+ AX_GCC_X86_CPUID(1)
+ case $ax_cv_gcc_x86_cpuid_0 in
+ *:756e6547:*:*) # Intel
+ case $ax_cv_gcc_x86_cpuid_1 in
+ *5[[48]]?:*:*:*) ax_gcc_arch="pentium-mmx pentium" ;;
+ *5??:*:*:*) ax_gcc_arch=pentium ;;
+ *1?6[[7d]]?:*:*:*) ax_gcc_arch="penryn core2 pentium-m pentium3 pentiumpro" ;;
+ *1?6[[aef]]?:*:*:*|*2?6[[5cef]]?:*:*:*) ax_gcc_arch="corei7 core2 pentium-m pentium3 pentiumpro" ;;
+ *1?6c?:*:*:*|*[[23]]?66?:*:*:*) ax_gcc_arch="atom core2 pentium-m pentium3 pentiumpro" ;;
+ *2?6[[ad]]?:*:*:*) ax_gcc_arch="corei7-avx corei7 core2 pentium-m pentium3 pentiumpro" ;;
+ *[[1-9a-f]]?6??:*:*:*) ax_gcc_arch="core2 pentiumpro" ;;
+ *6[[3456]]?:*:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+ *6a?:*[[01]]:*:*) ax_gcc_arch="pentium2 pentiumpro" ;;
+ *6a?:*[[234]]:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+ *6[[9de]]?:*:*:*) ax_gcc_arch="pentium-m pentium3 pentiumpro" ;;
+ *6[[78b]]?:*:*:*) ax_gcc_arch="pentium3 pentiumpro" ;;
+ *6f?:*:*:*) ax_gcc_arch="core2 pentium-m pentium3 pentiumpro" ;;
+ *6??:*:*:*) ax_gcc_arch=pentiumpro ;;
+ *f3[[347]]:*:*:*|*f4[1347]:*:*:*|*f6?:*:*:*)
+ case $host_cpu in
+ x86_64*) ax_gcc_arch="nocona pentium4 pentiumpro" ;;
+ *) ax_gcc_arch="prescott pentium4 pentiumpro" ;;
+ esac ;;
+ *f??:*:*:*) ax_gcc_arch="pentium4 pentiumpro";;
+ esac ;;
+ *:68747541:*:*) # AMD
+ case $ax_cv_gcc_x86_cpuid_1 in
+ *5[[67]]?:*:*:*) ax_gcc_arch=k6 ;;
+ *5[[8d]]?:*:*:*) ax_gcc_arch="k6-2 k6" ;;
+ *5[[9]]?:*:*:*) ax_gcc_arch="k6-3 k6" ;;
+ *60?:*:*:*) ax_gcc_arch=k7 ;;
+ *6[[12]]?:*:*:*) ax_gcc_arch="athlon k7" ;;
+ *6[[34]]?:*:*:*) ax_gcc_arch="athlon-tbird k7" ;;
+ *67?:*:*:*) ax_gcc_arch="athlon-4 athlon k7" ;;
+ *6[[68a]]?:*:*:*)
+ AX_GCC_X86_CPUID(0x80000006) # L2 cache size
+ case $ax_cv_gcc_x86_cpuid_0x80000006 in
+ *:*:*[[1-9a-f]]??????:*) # (L2 = ecx >> 16) >= 256
+ ax_gcc_arch="athlon-xp athlon-4 athlon k7" ;;
+ *) ax_gcc_arch="athlon-4 athlon k7" ;;
+ esac ;;
+ *5??f??:*:*:*) ax_gcc_arch="btver1 amdfam10 k8" ;;
+ *6??f??:*:*:*) ax_gcc_arch="bdver1 amdfam10 k8" ;;
+ *[[1-9a-f]]??f??:*:*:*) ax_gcc_arch="amdfam10 k8" ;;
+ *f[[4cef8b]]?:*:*:*) ax_gcc_arch="athlon64 k8" ;;
+ *f5?:*:*:*) ax_gcc_arch="opteron k8" ;;
+ *f7?:*:*:*) ax_gcc_arch="athlon-fx opteron k8" ;;
+ *f??:*:*:*) ax_gcc_arch="k8" ;;
+ esac ;;
+ *:746e6543:*:*) # IDT
+ case $ax_cv_gcc_x86_cpuid_1 in
+ *54?:*:*:*) ax_gcc_arch=winchip-c6 ;;
+ *58?:*:*:*) ax_gcc_arch=winchip2 ;;
+ *6[[78]]?:*:*:*) ax_gcc_arch=c3 ;;
+ *69?:*:*:*) ax_gcc_arch="c3-2 c3" ;;
+ esac ;;
+ esac
+ if test x"$ax_gcc_arch" = x; then # fallback
+ case $host_cpu in
+ i586*) ax_gcc_arch=pentium ;;
+ i686*) ax_gcc_arch=pentiumpro ;;
+ esac
+ fi
+ ;;
+
+ sparc*)
+ AC_PATH_PROG([PRTDIAG], [prtdiag], [prtdiag], [$PATH:/usr/platform/`uname -i`/sbin/:/usr/platform/`uname -m`/sbin/])
+ cputype=`(((grep cpu /proc/cpuinfo | cut -d: -f2) ; ($PRTDIAG -v |grep -i sparc) ; grep -i cpu /var/run/dmesg.boot ) | head -n 1) 2> /dev/null`
+ cputype=`echo "$cputype" | tr -d ' -' |tr $as_cr_LETTERS $as_cr_letters`
+ case $cputype in
+ *ultrasparciv*) ax_gcc_arch="ultrasparc4 ultrasparc3 ultrasparc v9" ;;
+ *ultrasparciii*) ax_gcc_arch="ultrasparc3 ultrasparc v9" ;;
+ *ultrasparc*) ax_gcc_arch="ultrasparc v9" ;;
+ *supersparc*|*tms390z5[[05]]*) ax_gcc_arch="supersparc v8" ;;
+ *hypersparc*|*rt62[[056]]*) ax_gcc_arch="hypersparc v8" ;;
+ *cypress*) ax_gcc_arch=cypress ;;
+ esac ;;
+
+ alphaev5) ax_gcc_arch=ev5 ;;
+ alphaev56) ax_gcc_arch=ev56 ;;
+ alphapca56) ax_gcc_arch="pca56 ev56" ;;
+ alphapca57) ax_gcc_arch="pca57 pca56 ev56" ;;
+ alphaev6) ax_gcc_arch=ev6 ;;
+ alphaev67) ax_gcc_arch=ev67 ;;
+ alphaev68) ax_gcc_arch="ev68 ev67" ;;
+ alphaev69) ax_gcc_arch="ev69 ev68 ev67" ;;
+ alphaev7) ax_gcc_arch="ev7 ev69 ev68 ev67" ;;
+ alphaev79) ax_gcc_arch="ev79 ev7 ev69 ev68 ev67" ;;
+
+ powerpc*)
+ cputype=`((grep cpu /proc/cpuinfo | head -n 1 | cut -d: -f2 | cut -d, -f1 | sed 's/ //g') ; /usr/bin/machine ; /bin/machine; grep CPU /var/run/dmesg.boot | head -n 1 | cut -d" " -f2) 2> /dev/null`
+ cputype=`echo $cputype | sed -e 's/ppc//g;s/ *//g'`
+ case $cputype in
+ *750*) ax_gcc_arch="750 G3" ;;
+ *740[[0-9]]*) ax_gcc_arch="$cputype 7400 G4" ;;
+ *74[[4-5]][[0-9]]*) ax_gcc_arch="$cputype 7450 G4" ;;
+ *74[[0-9]][[0-9]]*) ax_gcc_arch="$cputype G4" ;;
+ *970*) ax_gcc_arch="970 G5 power4";;
+ *POWER4*|*power4*|*gq*) ax_gcc_arch="power4 970";;
+ *POWER5*|*power5*|*gr*|*gs*) ax_gcc_arch="power5 power4 970";;
+ 603ev|8240) ax_gcc_arch="$cputype 603e 603";;
+ *) ax_gcc_arch=$cputype ;;
+ esac
+ ax_gcc_arch="$ax_gcc_arch powerpc"
+ ;;
+esac
+fi # not cross-compiling
+fi # guess arch
+
+if test "x$ax_gcc_arch" != x -a "x$ax_gcc_arch" != xno; then
+for arch in $ax_gcc_arch; do
+ if test "x[]m4_default([$1],yes)" = xyes; then # if we require portable code
+ flags="-mtune=$arch"
+ # -mcpu=$arch and m$arch generate nonportable code on every arch except
+ # x86. And some other arches (e.g. Alpha) don't accept -mtune. Grrr.
+ case $host_cpu in i*86|x86_64*) flags="$flags -mcpu=$arch -m$arch";; esac
+ else
+ flags="-march=$arch -mcpu=$arch -m$arch"
+ fi
+ for flag in $flags; do
+ AX_CHECK_COMPILE_FLAG($flag, [ax_cv_gcc_archflag=$flag; break])
+ done
+ test "x$ax_cv_gcc_archflag" = xunknown || break
+done
+fi
+
+fi # $GCC=yes
+])
+AC_MSG_CHECKING([for gcc architecture flag])
+AC_MSG_RESULT($ax_cv_gcc_archflag)
+if test "x$ax_cv_gcc_archflag" = xunknown; then
+ m4_default([$3],:)
+else
+ m4_default([$2], [CFLAGS="$CFLAGS $ax_cv_gcc_archflag"])
+fi
+])
diff --git a/src/pplib/autoconf/ax_gcc_x86_cpuid.m4 b/src/pplib/autoconf/ax_gcc_x86_cpuid.m4
new file mode 100644
index 0000000..7d46fee
--- /dev/null
+++ b/src/pplib/autoconf/ax_gcc_x86_cpuid.m4
@@ -0,0 +1,79 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_GCC_X86_CPUID(OP)
+#
+# DESCRIPTION
+#
+# On Pentium and later x86 processors, with gcc or a compiler that has a
+# compatible syntax for inline assembly instructions, run a small program
+# that executes the cpuid instruction with input OP. This can be used to
+# detect the CPU type.
+#
+# On output, the values of the eax, ebx, ecx, and edx registers are stored
+# as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
+# ax_cv_gcc_x86_cpuid_OP.
+#
+# If the cpuid instruction fails (because you are running a
+# cross-compiler, or because you are not using gcc, or because you are on
+# a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
+# is set to the string "unknown".
+#
+# This macro mainly exists to be used in AX_GCC_ARCHFLAG.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2008 Matteo Frigo
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AC_DEFUN([AX_GCC_X86_CPUID],
+[AC_REQUIRE([AC_PROG_CC])
+AC_LANG_PUSH([C])
+AC_CACHE_CHECK(for x86 cpuid $1 output, ax_cv_gcc_x86_cpuid_$1,
+ [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], [
+ int op = $1, eax, ebx, ecx, edx;
+ FILE *f;
+ __asm__("cpuid"
+ : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+ : "a" (op));
+ f = fopen("conftest_cpuid", "w"); if (!f) return 1;
+ fprintf(f, "%x:%x:%x:%x\n", eax, ebx, ecx, edx);
+ fclose(f);
+ return 0;
+])],
+ [ax_cv_gcc_x86_cpuid_$1=`cat conftest_cpuid`; rm -f conftest_cpuid],
+ [ax_cv_gcc_x86_cpuid_$1=unknown; rm -f conftest_cpuid],
+ [ax_cv_gcc_x86_cpuid_$1=unknown])])
+AC_LANG_POP([C])
+])
diff --git a/src/pplib/autoconf/ax_have_qt.m4 b/src/pplib/autoconf/ax_have_qt.m4
new file mode 100644
index 0000000..5371eb1
--- /dev/null
+++ b/src/pplib/autoconf/ax_have_qt.m4
@@ -0,0 +1,515 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_have_qt.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_HAVE_QT [--with-Qt-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
+# AX_HAVE_QT [--with-Qt-include-dir=DIR] [--with-Qt-bin-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
+#
+# DESCRIPTION
+#
+# Searches common directories for Qt include files, libraries and Qt
+# binary utilities. The macro supports several different versions of the
+# Qt framework being installed on the same machine. Without options, the
+# macro is designed to look for the latest library, i.e., the highest
+# definition of QT_VERSION in qglobal.h. By use of one or more options a
+# different library may be selected. There are two different sets of
+# options. Both sets contain the option --with-Qt-lib=LIB which can be
+# used to force the use of a particular version of the library file when
+# more than one are available. LIB must be in the form as it would appear
+# behind the "-l" option to the compiler. Examples for LIB would be
+# "qt-mt" for the multi-threaded version and "qt" for the regular version.
+# In addition to this, the first set consists of an option
+# --with-Qt-dir=DIR which can be used when the installation conforms to
+# Trolltech's standard installation, which means that header files are in
+# DIR/include, binary utilities are in DIR/bin and the library is in
+# DIR/lib. The second set of options can be used to indicate individual
+# locations for the header files, the binary utilities and the library
+# file, in addition to the specific version of the library file.
+#
+# The following shell variable is set to either "yes" or "no":
+#
+# have_qt
+#
+# Additionally, the following variables are exported:
+#
+# QT_CXXFLAGS
+# QT_LIBS
+# QT_MOC
+# QT_UIC
+# QT_LRELEASE
+# QT_LUPDATE
+# QT_DIR
+#
+# which respectively contain an "-I" flag pointing to the Qt include
+# directory (and "-DQT_THREAD_SUPPORT" when LIB is "qt-mt"), link flags
+# necessary to link with Qt and X, the name of the meta object compiler
+# and the user interface compiler both with full path, and finaly the
+# variable QTDIR as Trolltech likes to see it defined (if possible).
+#
+# Example lines for Makefile.in:
+#
+# CXXFLAGS = @QT_CXXFLAGS@
+# MOC = @QT_MOC@
+#
+# After the variables have been set, a trial compile and link is performed
+# to check the correct functioning of the meta object compiler. This test
+# may fail when the different detected elements stem from different
+# releases of the Qt framework. In that case, an error message is emitted
+# and configure stops.
+#
+# No common variables such as $LIBS or $CFLAGS are polluted.
+#
+# Options:
+#
+# --with-Qt-dir=DIR: DIR is equal to $QTDIR if you have followed the
+# installation instructions of Trolltech. Header files are in DIR/include,
+# binary utilities are in DIR/bin and the library is in DIR/lib.
+#
+# --with-Qt-include-dir=DIR: Qt header files are in DIR.
+#
+# --with-Qt-bin-dir=DIR: Qt utilities such as moc and uic are in DIR.
+#
+# --with-Qt-lib-dir=DIR: The Qt library is in DIR.
+#
+# --with-Qt-lib=LIB: Use -lLIB to link with the Qt library.
+#
+# If some option "=no" or, equivalently, a --without-Qt-* version is given
+# in stead of a --with-Qt-*, "have_qt" is set to "no" and the other
+# variables are set to the empty string.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Bastiaan Veelo
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 10
+
+dnl Calls AX_PATH_QT_DIRECT (contained in this file) as a subroutine.
+AU_ALIAS([BNV_HAVE_QT], [AX_HAVE_QT])
+AC_DEFUN([AX_HAVE_QT],
+[
+ AC_REQUIRE([AC_PROG_CXX])
+ AC_REQUIRE([AC_PATH_X])
+ AC_REQUIRE([AC_PATH_XTRA])
+
+ AC_MSG_CHECKING(for Qt)
+
+ AC_ARG_WITH([Qt-dir],
+ AS_HELP_STRING([--with-Qt-dir=DIR],
+ [DIR is equal to $QTDIR if you have followed the
+ installation instructions of Trolltech. Header
+ files are in DIR/include, binary utilities are
+ in DIR/bin. The library is in DIR/lib, unless
+ --with-Qt-lib-dir is also set.]))
+ AC_ARG_WITH([Qt-include-dir],
+ AS_HELP_STRING([--with-Qt-include-dir=DIR],
+ [Qt header files are in DIR]))
+ AC_ARG_WITH([Qt-bin-dir],
+ AS_HELP_STRING([--with-Qt-bin-dir=DIR],
+ [Qt utilities such as moc and uic are in DIR]))
+ AC_ARG_WITH([Qt-lib-dir],
+ AS_HELP_STRING([--with-Qt-lib-dir=DIR],
+ [The Qt library is in DIR]))
+ AC_ARG_WITH([Qt-lib],
+ AS_HELP_STRING([--with-Qt-lib=LIB],
+ [Use -lLIB to link with the Qt library]))
+ if test x"$with_Qt_dir" = x"no" ||
+ test x"$with_Qt_include-dir" = x"no" ||
+ test x"$with_Qt_bin_dir" = x"no" ||
+ test x"$with_Qt_lib_dir" = x"no" ||
+ test x"$with_Qt_lib" = x"no"; then
+ # user disabled Qt. Leave cache alone.
+ have_qt="User disabled Qt."
+ else
+ # "yes" is a bogus option
+ if test x"$with_Qt_dir" = xyes; then
+ with_Qt_dir=
+ fi
+ if test x"$with_Qt_include_dir" = xyes; then
+ with_Qt_include_dir=
+ fi
+ if test x"$with_Qt_bin_dir" = xyes; then
+ with_Qt_bin_dir=
+ fi
+ if test x"$with_Qt_lib_dir" = xyes; then
+ with_Qt_lib_dir=
+ fi
+ if test x"$with_Qt_lib" = xyes; then
+ with_Qt_lib=
+ fi
+ # No Qt unless we discover otherwise
+ have_qt=no
+ # Check whether we are requested to link with a specific version
+ if test x"$with_Qt_lib" != x; then
+ ax_qt_lib="$with_Qt_lib"
+ fi
+ # Check whether we were supplied with an answer already
+ if test x"$with_Qt_dir" != x; then
+ have_qt=yes
+ ax_qt_dir="$with_Qt_dir"
+ ax_qt_include_dir="$with_Qt_dir/include"
+ ax_qt_bin_dir="$with_Qt_dir/bin"
+ ax_qt_lib_dir="$with_Qt_dir/lib"
+ # Only search for the lib if the user did not define one already
+ if test x"$ax_qt_lib" = x; then
+ ax_qt_lib="`ls $ax_qt_lib_dir/libqt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+ fi
+ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Use cached value or do search, starting with suggestions from
+ # the command line
+ AC_CACHE_VAL(ax_cv_have_qt,
+ [
+ # We are not given a solution and there is no cached value.
+ ax_qt_dir=NO
+ ax_qt_include_dir=NO
+ ax_qt_lib_dir=NO
+ if test x"$ax_qt_lib" = x; then
+ ax_qt_lib=NO
+ fi
+ AX_PATH_QT_DIRECT
+ if test "$ax_qt_dir" = NO ||
+ test "$ax_qt_include_dir" = NO ||
+ test "$ax_qt_lib_dir" = NO ||
+ test "$ax_qt_lib" = NO; then
+ # Problem with finding complete Qt. Cache the known absence of Qt.
+ ax_cv_have_qt="have_qt=no"
+ else
+ # Record where we found Qt for the cache.
+ ax_cv_have_qt="have_qt=yes \
+ ax_qt_dir=$ax_qt_dir \
+ ax_qt_include_dir=$ax_qt_include_dir \
+ ax_qt_bin_dir=$ax_qt_bin_dir \
+ ax_qt_LIBS=\"$ax_qt_LIBS\""
+ fi
+ ])dnl
+ eval "$ax_cv_have_qt"
+ fi # all $ax_qt_* are set
+ fi # $have_qt reflects the system status
+ if test x"$have_qt" = xyes; then
+ QT_CXXFLAGS="-I$ax_qt_include_dir"
+ if test x"$ax_qt_lib" = xqt-mt; then
+ QT_CXXFLAGS="$QT_CXXFLAGS -DQT_THREAD_SUPPORT"
+ fi
+ QT_DIR="$ax_qt_dir"
+ QT_LIBS="$ax_qt_LIBS"
+ # If ax_qt_dir is defined, utilities are expected to be in the
+ # bin subdirectory
+ if test x"$ax_qt_dir" != x; then
+ if test -x "$ax_qt_dir/bin/uic"; then
+ QT_UIC="$ax_qt_dir/bin/uic"
+ else
+ # Old versions of Qt don't have uic
+ QT_UIC=
+ fi
+ QT_MOC="$ax_qt_dir/bin/moc"
+ QT_LRELEASE="$ax_qt_dir/bin/lrelease"
+ QT_LUPDATE="$ax_qt_dir/bin/lupdate"
+ else
+ # Or maybe we are told where to look for the utilities
+ if test x"$ax_qt_bin_dir" != x; then
+ if test -x "$ax_qt_bin_dir/uic"; then
+ QT_UIC="$ax_qt_bin_dir/uic"
+ else
+ # Old versions of Qt don't have uic
+ QT_UIC=
+ fi
+ QT_MOC="$ax_qt_bin_dir/moc"
+ QT_LRELEASE="$ax_qt_bin_dir/lrelease"
+ QT_LUPDATE="$ax_qt_bin_dir/lupdate"
+ else
+ # Last possibility is that they are in $PATH
+ QT_UIC="`which uic`"
+ QT_MOC="`which moc`"
+ QT_LRELEASE="`which lrelease`"
+ QT_LUPDATE="`which lupdate`"
+ fi
+ fi
+ # All variables are defined, report the result
+ AC_MSG_RESULT([$have_qt:
+ QT_CXXFLAGS=$QT_CXXFLAGS
+ QT_DIR=$QT_DIR
+ QT_LIBS=$QT_LIBS
+ QT_UIC=$QT_UIC
+ QT_MOC=$QT_MOC
+ QT_LRELEASE=$QT_LRELEASE
+ QT_LUPDATE=$QT_LUPDATE])
+ else
+ # Qt was not found
+ QT_CXXFLAGS=
+ QT_DIR=
+ QT_LIBS=
+ QT_UIC=
+ QT_MOC=
+ QT_LRELEASE=
+ QT_LUPDATE=
+ AC_MSG_RESULT($have_qt)
+ fi
+ AC_SUBST(QT_CXXFLAGS)
+ AC_SUBST(QT_DIR)
+ AC_SUBST(QT_LIBS)
+ AC_SUBST(QT_UIC)
+ AC_SUBST(QT_MOC)
+ AC_SUBST(QT_LRELEASE)
+ AC_SUBST(QT_LUPDATE)
+
+ #### Being paranoid:
+ if test x"$have_qt" = xyes; then
+ AC_MSG_CHECKING(correct functioning of Qt installation)
+ AC_CACHE_VAL(ax_cv_qt_test_result,
+ [
+ cat > ax_qt_test.h << EOF
+#include
+class Test : public QObject
+{
+Q_OBJECT
+public:
+ Test() {}
+ ~Test() {}
+public slots:
+ void receive() {}
+signals:
+ void send();
+};
+EOF
+
+ cat > ax_qt_main.$ac_ext << EOF
+#include "ax_qt_test.h"
+#include
+int main( int argc, char **argv )
+{
+ QApplication app( argc, argv );
+ Test t;
+ QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) );
+}
+EOF
+
+ ax_cv_qt_test_result="failure"
+ ax_try_1="$QT_MOC ax_qt_test.h -o moc_ax_qt_test.$ac_ext >/dev/null 2>/dev/null"
+ AC_TRY_EVAL(ax_try_1)
+ if test x"$ac_status" != x0; then
+ echo "$ax_err_1" >&AS_MESSAGE_LOG_FD
+ echo "configure: could not run $QT_MOC on:" >&AS_MESSAGE_LOG_FD
+ cat ax_qt_test.h >&AS_MESSAGE_LOG_FD
+ else
+ ax_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_ax_qt_test.o moc_ax_qt_test.$ac_ext >/dev/null 2>/dev/null"
+ AC_TRY_EVAL(ax_try_2)
+ if test x"$ac_status" != x0; then
+ echo "$ax_err_2" >&AS_MESSAGE_LOG_FD
+ echo "configure: could not compile:" >&AS_MESSAGE_LOG_FD
+ cat moc_ax_qt_test.$ac_ext >&AS_MESSAGE_LOG_FD
+ else
+ ax_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o ax_qt_main.o ax_qt_main.$ac_ext >/dev/null 2>/dev/null"
+ AC_TRY_EVAL(ax_try_3)
+ if test x"$ac_status" != x0; then
+ echo "$ax_err_3" >&AS_MESSAGE_LOG_FD
+ echo "configure: could not compile:" >&AS_MESSAGE_LOG_FD
+ cat ax_qt_main.$ac_ext >&AS_MESSAGE_LOG_FD
+ else
+ ax_try_4="$CXX -o ax_qt_main ax_qt_main.o moc_ax_qt_test.o $QT_LIBS $LIBS >/dev/null 2>/dev/null"
+ AC_TRY_EVAL(ax_try_4)
+ if test x"$ac_status" != x0; then
+ echo "$ax_err_4" >&AS_MESSAGE_LOG_FD
+ else
+ ax_cv_qt_test_result="success"
+ fi
+ fi
+ fi
+ fi
+ ])dnl AC_CACHE_VAL ax_cv_qt_test_result
+ AC_MSG_RESULT([$ax_cv_qt_test_result])
+ if test x"$ax_cv_qt_test_result" = "xfailure"; then
+ AC_MSG_ERROR([Failed to find matching components of a complete
+ Qt installation. Try using more options,
+ see ./configure --help.])
+ fi
+
+ rm -f ax_qt_test.h moc_ax_qt_test.$ac_ext moc_ax_qt_test.o \
+ ax_qt_main.$ac_ext ax_qt_main.o ax_qt_main
+ fi
+])
+
+dnl Internal subroutine of AX_HAVE_QT
+dnl Set ax_qt_dir ax_qt_include_dir ax_qt_bin_dir ax_qt_lib_dir ax_qt_lib
+AC_DEFUN([AX_PATH_QT_DIRECT],
+[
+ ## Binary utilities ##
+ if test x"$with_Qt_bin_dir" != x; then
+ ax_qt_bin_dir=$with_Qt_bin_dir
+ fi
+ ## Look for header files ##
+ if test x"$with_Qt_include_dir" != x; then
+ ax_qt_include_dir="$with_Qt_include_dir"
+ else
+ # The following header file is expected to define QT_VERSION.
+ qt_direct_test_header=qglobal.h
+ # Look for the header file in a standard set of common directories.
+ ax_include_path_list="
+ /usr/include
+ `ls -dr ${QTDIR}/include 2>/dev/null`
+ `ls -dr /usr/include/qt* 2>/dev/null`
+ `ls -dr /usr/lib/qt*/include 2>/dev/null`
+ `ls -dr /usr/local/qt*/include 2>/dev/null`
+ `ls -dr /opt/qt*/include 2>/dev/null`
+ `ls -dr /Developer/qt*/include 2>/dev/null`
+ "
+ for ax_dir in $ax_include_path_list; do
+ if test -r "$ax_dir/$qt_direct_test_header"; then
+ ax_dirs="$ax_dirs $ax_dir"
+ fi
+ done
+ # Now look for the newest in this list
+ ax_prev_ver=0
+ for ax_dir in $ax_dirs; do
+ ax_this_ver=`egrep -w '#define QT_VERSION' $ax_dir/$qt_direct_test_header | sed s/'#define QT_VERSION'//`
+ if expr $ax_this_ver '>' $ax_prev_ver > /dev/null; then
+ ax_qt_include_dir=$ax_dir
+ ax_prev_ver=$ax_this_ver
+ fi
+ done
+ fi dnl Found header files.
+
+ # Are these headers located in a traditional Trolltech installation?
+ # That would be $ax_qt_include_dir stripped from its last element:
+ ax_possible_qt_dir=`dirname $ax_qt_include_dir`
+ if (test -x $ax_possible_qt_dir/bin/moc) &&
+ ((ls $ax_possible_qt_dir/lib/libqt* > /dev/null 2>/dev/null) ||
+ (ls $ax_possible_qt_dir/lib64/libqt* > /dev/null 2>/dev/null)); then
+ # Then the rest is a piece of cake
+ ax_qt_dir=$ax_possible_qt_dir
+ ax_qt_bin_dir="$ax_qt_dir/bin"
+ if test x"$with_Qt_lib_dir" != x; then
+ ax_qt_lib_dir="$with_Qt_lib_dir"
+ else
+ if (test -d $ax_qt_dir/lib64); then
+ ax_qt_lib_dir="$ax_qt_dir/lib64"
+ else
+ ax_qt_lib_dir="$ax_qt_dir/lib"
+ fi
+ fi
+ # Only look for lib if the user did not supply it already
+ if test x"$ax_qt_lib" = xNO; then
+ ax_qt_lib="`ls $ax_qt_lib_dir/libqt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+ fi
+ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # There is no valid definition for $QTDIR as Trolltech likes to see it
+ ax_qt_dir=
+ ## Look for Qt library ##
+ if test x"$with_Qt_lib_dir" != x; then
+ ax_qt_lib_dir="$with_Qt_lib_dir"
+ # Only look for lib if the user did not supply it already
+ if test x"$ax_qt_lib" = xNO; then
+ ax_qt_lib="`ls $ax_qt_lib_dir/libqt* | sed -n 1p |
+ sed s@$ax_qt_lib_dir/lib@@ | [sed s@[.].*@@]`"
+ fi
+ ax_qt_LIBS="-L$ax_qt_lib_dir -l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ else
+ # Normally, when there is no traditional Trolltech installation,
+ # the library is installed in a place where the linker finds it
+ # automatically.
+ # If the user did not define the library name, try with qt
+ if test x"$ax_qt_lib" = xNO; then
+ ax_qt_lib=qt
+ fi
+ qt_direct_test_header=qapplication.h
+ qt_direct_test_main="
+ int argc;
+ char ** argv;
+ QApplication app(argc,argv);
+ "
+ # See if we find the library without any special options.
+ # Don't add top $LIBS permanently yet
+ ax_save_LIBS="$LIBS"
+ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ ax_qt_LIBS="$LIBS"
+ ax_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="-I$ax_qt_include_dir"
+ AC_TRY_LINK([#include <$qt_direct_test_header>],
+ $qt_direct_test_main,
+ [
+ # Success.
+ # We can link with no special library directory.
+ ax_qt_lib_dir=
+ ], [
+ # That did not work. Try the multi-threaded version
+ echo "Non-critical error, please neglect the above." >&AS_MESSAGE_LOG_FD
+ ax_qt_lib=qt-mt
+ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ AC_TRY_LINK([#include <$qt_direct_test_header>],
+ $qt_direct_test_main,
+ [
+ # Success.
+ # We can link with no special library directory.
+ ax_qt_lib_dir=
+ ], [
+ # That did not work. Try the OpenGL version
+ echo "Non-critical error, please neglect the above." >&AS_MESSAGE_LOG_FD
+ ax_qt_lib=qt-gl
+ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ AC_TRY_LINK([#include <$qt_direct_test_header>],
+ $qt_direct_test_main,
+ [
+ # Success.
+ # We can link with no special library directory.
+ ax_qt_lib_dir=
+ ], [
+ # That did not work. Maybe a library version I don't know about?
+ echo "Non-critical error, please neglect the above." >&AS_MESSAGE_LOG_FD
+ # Look for some Qt lib in a standard set of common directories.
+ ax_dir_list="
+ `echo $ax_qt_includes | sed ss/includess`
+ /lib
+ /usr/lib64
+ /usr/lib
+ /usr/local/lib64
+ /usr/local/lib
+ /opt/lib64
+ /opt/lib
+ `ls -dr /usr/lib64/qt* 2>/dev/null`
+ `ls -dr /usr/lib64/qt*/lib64 2>/dev/null`
+ `ls -dr /usr/lib/qt* 2>/dev/null`
+ `ls -dr /usr/local/qt* 2>/dev/null`
+ `ls -dr /opt/qt* 2>/dev/null`
+ "
+ for ax_dir in $ax_dir_list; do
+ if ls $ax_dir/libqt* >/dev/null 2>/dev/null; then
+ # Gamble that it's the first one...
+ ax_qt_lib="`ls $ax_dir/libqt* | sed -n 1p |
+ sed s@$ax_dir/lib@@ | sed s/[[.]].*//`"
+ ax_qt_lib_dir="$ax_dir"
+ break
+ fi
+ done
+ # Try with that one
+ LIBS="-l$ax_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"
+ AC_TRY_LINK([#include <$qt_direct_test_header>],
+ $qt_direct_test_main,
+ [
+ # Success.
+ # We can link with no special library directory.
+ ax_qt_lib_dir=
+ ], [
+ : # Leave ax_qt_lib_dir defined
+ ])
+ ])
+ ])
+ ])
+ if test x"$ax_qt_lib_dir" != x; then
+ ax_qt_LIBS="-L$ax_qt_lib_dir $LIBS"
+ else
+ ax_qt_LIBS="$LIBS"
+ fi
+ LIBS="$ax_save_LIBS"
+ CXXFLAGS="$ax_save_CXXFLAGS"
+ fi dnl $with_Qt_lib_dir was not given
+ fi dnl Done setting up for non-traditional Trolltech installation
+])
diff --git a/src/pplib/autoconf/ax_lib_crypto.m4 b/src/pplib/autoconf/ax_lib_crypto.m4
new file mode 100644
index 0000000..5a8770c
--- /dev/null
+++ b/src/pplib/autoconf/ax_lib_crypto.m4
@@ -0,0 +1,85 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_lib_crypto.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_CRYPTO([yes|no|auto])
+#
+# DESCRIPTION
+#
+# Searches for the 'crypto' library with the --with... option.
+#
+# If found, define HAVE_CRYPTO and macro CRYPTO_LIBS. Also defines
+# CRYPTO_WITH_ for the algorithms found available. Possible
+# algorithms: AES BF CAMELLIA CAST DES IDEA RC2 RC5 MD2 MD4 MD5 SHA RIPEMD
+# RSA DSA DH
+#
+# The argument is used if no --with...-crypto option is set. Value "yes"
+# requires the configuration by default. Value "no" does not require it by
+# default. Value "auto" configures the library only if available.
+#
+# See also AX_LIB_BEECRYPT and AX_LIB_GCRYPT.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Fabien Coelho
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 10
+
+# AX_CHECK_CRYPTO_LIB([algo-name],[function])
+AC_DEFUN([AX_CHECK_CRYPTO_LIB],[
+ AC_CHECK_LIB([crypto], $2, [
+ AC_DEFINE([CRYPTO_WITH_$1],[1],[Algorithm $1 in openssl crypto library])
+ ])
+])
+
+# AX_LIB_CRYPTO([yes|no|auto])
+AC_DEFUN([AX_LIB_CRYPTO],[
+ AC_MSG_CHECKING([whether openssl crypto is enabled])
+ AC_ARG_WITH([crypto],[ --with-crypto requite crypto library
+ --without-crypto disable crypto library],[
+ AC_MSG_RESULT([$withval])
+ ac_with_crypto=$withval
+ ],[
+ AC_MSG_RESULT([$1])
+ ac_with_crypto=$1
+ ])
+ if test "$ac_with_crypto" = "yes" -o "$ac_with_crypto" = "auto" ; then
+ AC_CHECK_HEADERS([openssl/opensslconf.h],[
+ AC_CHECK_LIB([crypto], [CRYPTO_lock],[
+ AC_DEFINE([HAVE_CRYPTO],[1],[Openssl crypto library is available])
+ HAVE_CRYPTO=1
+ AC_SUBST([CRYPTO_LIBS],[-lcrypto])
+ # ciphers
+ AX_CHECK_CRYPTO_LIB([AES],[AES_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([BF],[BF_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([CAST],[CAST_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([CAMELLIA],[Camellia_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([DES],[DES_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([IDEA],[idea_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([RC2],[RC2_ecb_encrypt])
+ AX_CHECK_CRYPTO_LIB([RC5],[RC5_32_ecb_encrypt])
+ # digests
+ AX_CHECK_CRYPTO_LIB([MD2],[MD2])
+ AX_CHECK_CRYPTO_LIB([MD4],[MD4])
+ AX_CHECK_CRYPTO_LIB([MD5],[MD5])
+ AX_CHECK_CRYPTO_LIB([RIPEMD],[RIPEMD160])
+ AX_CHECK_CRYPTO_LIB([SHA],[SHA1])
+ # others
+ AX_CHECK_CRYPTO_LIB([RSA],[RSA_set_method])
+ AX_CHECK_CRYPTO_LIB([DSA],[DSA_set_method])
+ AX_CHECK_CRYPTO_LIB([DH],[DH_set_method])
+ ])
+ ])
+ # complain only if crypto as *explicitly* required
+ if test "$ac_with_crypto" = "yes" -a "x$HAVE_CRYPTO" = "x" ; then
+ AC_MSG_ERROR([cannot configure required openssl crypto library])
+ fi
+ fi
+])
diff --git a/src/pplib/autoconf/ax_lib_gcrypt.m4 b/src/pplib/autoconf/ax_lib_gcrypt.m4
new file mode 100644
index 0000000..b200ec2
--- /dev/null
+++ b/src/pplib/autoconf/ax_lib_gcrypt.m4
@@ -0,0 +1,108 @@
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_lib_gcrypt.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_GCRYPT([yes|no|auto])
+#
+# DESCRIPTION
+#
+# Searches for the 'gcrypt' library with the --with... option.
+#
+# If found, define HAVE_GCRYPT and macro GCRYPT_LIBS and GCRYPT_CFLAGS.
+# Also defines GCRYPT_WITH_ for the algorithms found available.
+# Possible algorithms are: AES ARCFOUR BLOWFISH CAST5 DES IDEA RFC2268
+# SERPENT TWOFISH CRC HAVAL MD2 MD4 MD5 RMD160 SHA0 SHA1 SHA224 SHA256
+# SHA384 SHA512 TIGER WHIRLPOOL DSA ELGAMAL RSA
+#
+# The argument is used if no --with...-gcrypt option is set. Value "yes"
+# requires the configuration by default. Value "no" does not require it by
+# default. Value "auto" configures the library only if available.
+#
+# See also AX_LIB_BEECRYPT and AX_LIB_CRYPTO.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Fabien Coelho
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 12
+
+# AX_CHECK_GCRYPT_ALGO([algo])
+# generate convenient defines for each algorithm
+AC_DEFUN([AX_CHECK_GCRYPT_ALGO],[
+ AC_REQUIRE([AC_PROG_EGREP])
+ AC_MSG_CHECKING([for $1 in gcrypt])
+ if echo $gcrypt_algos | $EGREP -i ":.*( $1 | $1$)" > /dev/null ; then
+ AC_DEFINE([GCRYPT_WITH_$1],[1],[Algorithm $1 in gcrypt library])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
+# AX_LIB_GCRYPT([yes|no|auto])
+AC_DEFUN([AX_LIB_GCRYPT],[
+ AC_MSG_CHECKING([whether gcrypt is enabled])
+ AC_ARG_WITH([gcrypt],[ --with-gcrypt require gcrypt library
+ --without-gcrypt disable gcrypt library],[
+ AC_MSG_RESULT([$withval])
+ ac_with_gcrypt=$withval
+ ],[
+ AC_MSG_RESULT($1)
+ ac_with_gcrypt=$1
+ ])
+ if test "$ac_with_gcrypt" = "yes" -o "$ac_with_gcrypt" = "auto" ; then
+ AM_PATH_LIBGCRYPT([1.2.0],[
+ AC_DEFINE([HAVE_GCRYPT],[1],[Gcrypt library is available])
+ HAVE_GCRYPT=1
+ # checking for available algorithms...
+ gcrypt_algos=`$LIBGCRYPT_CONFIG --algorithms`
+ # ciphers
+ # this does not work with a "for" loop: nothing generated in config.h:-(
+ AX_CHECK_GCRYPT_ALGO([AES])
+ AX_CHECK_GCRYPT_ALGO([ARCFOUR])
+ AX_CHECK_GCRYPT_ALGO([BLOWFISH])
+ AX_CHECK_GCRYPT_ALGO([CAST5])
+ AX_CHECK_GCRYPT_ALGO([DES])
+ AX_CHECK_GCRYPT_ALGO([IDEA])
+ AX_CHECK_GCRYPT_ALGO([RFC2268])
+ AX_CHECK_GCRYPT_ALGO([SERPENT])
+ AX_CHECK_GCRYPT_ALGO([TWOFISH])
+ # digests
+ AX_CHECK_GCRYPT_ALGO([CRC])
+ AX_CHECK_GCRYPT_ALGO([HAVAL])
+ AX_CHECK_GCRYPT_ALGO([MD2])
+ AX_CHECK_GCRYPT_ALGO([MD4])
+ AX_CHECK_GCRYPT_ALGO([MD5])
+ AX_CHECK_GCRYPT_ALGO([RMD160])
+ AX_CHECK_GCRYPT_ALGO([SHA0])
+ AX_CHECK_GCRYPT_ALGO([SHA1])
+ AX_CHECK_GCRYPT_ALGO([SHA224])
+ AX_CHECK_GCRYPT_ALGO([SHA256])
+ AX_CHECK_GCRYPT_ALGO([SHA384])
+ AX_CHECK_GCRYPT_ALGO([SHA512])
+ AX_CHECK_GCRYPT_ALGO([TIGER])
+ AX_CHECK_GCRYPT_ALGO([WHIRLPOOL])
+ # others
+ AX_CHECK_GCRYPT_ALGO([DSA])
+ AX_CHECK_GCRYPT_ALGO([ELGAMAL])
+ AX_CHECK_GCRYPT_ALGO([RSA])
+ # conclusion
+ GCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
+ GCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
+ AC_SUBST(GCRYPT_CFLAGS)
+ AC_SUBST(GCRYPT_LIBS)
+ ],[
+ # complain only if explicitly required
+ if test "$ac_with_gcrypt" = "yes" ; then
+ AC_MSG_ERROR([cannot configure required gcrypt library])
+ fi
+ ])
+ fi
+])
diff --git a/src/pplib/autoconf/ax_lib_mysql.m4 b/src/pplib/autoconf/ax_lib_mysql.m4
new file mode 100644
index 0000000..e27d755
--- /dev/null
+++ b/src/pplib/autoconf/ax_lib_mysql.m4
@@ -0,0 +1,147 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_mysql.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_MYSQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# This macro provides tests of availability of MySQL client library of
+# particular version or newer.
+#
+# AX_LIB_MYSQL macro takes only one argument which is optional. If there
+# is no required version passed, then macro does not run version test.
+#
+# The --with-mysql option takes one of three possible values:
+#
+# no - do not check for MySQL client library
+#
+# yes - do check for MySQL library in standard locations (mysql_config
+# should be in the PATH)
+#
+# path - complete path to mysql_config utility, use this option if
+# mysql_config can't be found in the PATH
+#
+# This macro calls:
+#
+# AC_SUBST(MYSQL_CFLAGS)
+# AC_SUBST(MYSQL_LDFLAGS)
+# AC_SUBST(MYSQL_VERSION)
+#
+# And sets:
+#
+# HAVE_MYSQL
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 12
+
+AC_DEFUN([AX_LIB_MYSQL],
+[
+ AC_ARG_WITH([mysql],
+ AS_HELP_STRING([--with-mysql=@<:@ARG@:>@],
+ [use MySQL client library @<:@default=yes@:>@, optionally specify path to mysql_config]
+ ),
+ [
+ if test "$withval" = "no"; then
+ want_mysql="no"
+ elif test "$withval" = "yes"; then
+ want_mysql="yes"
+ else
+ want_mysql="yes"
+ MYSQL_CONFIG="$withval"
+ fi
+ ],
+ [want_mysql="yes"]
+ )
+ AC_ARG_VAR([MYSQL_CONFIG], [Full path to mysql_config program])
+
+ MYSQL_CFLAGS=""
+ MYSQL_LDFLAGS=""
+ MYSQL_VERSION=""
+
+ dnl
+ dnl Check MySQL libraries
+ dnl
+
+ if test "$want_mysql" = "yes"; then
+
+ if test -z "$MYSQL_CONFIG" ; then
+ AC_PATH_PROGS([MYSQL_CONFIG], [mysql_config mysql_config5], [no])
+ fi
+
+ if test "$MYSQL_CONFIG" != "no"; then
+ MYSQL_CFLAGS="`$MYSQL_CONFIG --cflags`"
+ MYSQL_LDFLAGS="`$MYSQL_CONFIG --libs`"
+
+ MYSQL_VERSION=`$MYSQL_CONFIG --version`
+
+ found_mysql="yes"
+ else
+ found_mysql="no"
+ fi
+ fi
+
+ dnl
+ dnl Check if required version of MySQL is available
+ dnl
+
+
+ mysql_version_req=ifelse([$1], [], [], [$1])
+
+ if test "$found_mysql" = "yes" -a -n "$mysql_version_req"; then
+
+ AC_MSG_CHECKING([if MySQL version is >= $mysql_version_req])
+
+ dnl Decompose required version string of MySQL
+ dnl and calculate its number representation
+ mysql_version_req_major=`expr $mysql_version_req : '\([[0-9]]*\)'`
+ mysql_version_req_minor=`expr $mysql_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+ mysql_version_req_micro=`expr $mysql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$mysql_version_req_micro" = "x"; then
+ mysql_version_req_micro="0"
+ fi
+
+ mysql_version_req_number=`expr $mysql_version_req_major \* 1000000 \
+ \+ $mysql_version_req_minor \* 1000 \
+ \+ $mysql_version_req_micro`
+
+ dnl Decompose version string of installed MySQL
+ dnl and calculate its number representation
+ mysql_version_major=`expr $MYSQL_VERSION : '\([[0-9]]*\)'`
+ mysql_version_minor=`expr $MYSQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'`
+ mysql_version_micro=`expr $MYSQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$mysql_version_micro" = "x"; then
+ mysql_version_micro="0"
+ fi
+
+ mysql_version_number=`expr $mysql_version_major \* 1000000 \
+ \+ $mysql_version_minor \* 1000 \
+ \+ $mysql_version_micro`
+
+ mysql_version_check=`expr $mysql_version_number \>\= $mysql_version_req_number`
+ if test "$mysql_version_check" = "1"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+
+ if test "$found_mysql" = "yes" ; then
+ AC_DEFINE([HAVE_MYSQL], [1],
+ [Define to 1 if MySQL libraries are available])
+ fi
+
+ AC_SUBST([MYSQL_VERSION])
+ AC_SUBST([MYSQL_CFLAGS])
+ AC_SUBST([MYSQL_LDFLAGS])
+])
diff --git a/src/pplib/autoconf/ax_lib_postgresql.m4 b/src/pplib/autoconf/ax_lib_postgresql.m4
new file mode 100644
index 0000000..0bc5fb7
--- /dev/null
+++ b/src/pplib/autoconf/ax_lib_postgresql.m4
@@ -0,0 +1,155 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_POSTGRESQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# This macro provides tests of availability of PostgreSQL 'libpq' library
+# of particular version or newer.
+#
+# AX_LIB_POSTGRESQL macro takes only one argument which is optional. If
+# there is no required version passed, then macro does not run version
+# test.
+#
+# The --with-postgresql option takes one of three possible values:
+#
+# no - do not check for PostgreSQL client library
+#
+# yes - do check for PostgreSQL library in standard locations (pg_config
+# should be in the PATH)
+#
+# path - complete path to pg_config utility, use this option if pg_config
+# can't be found in the PATH
+#
+# This macro calls:
+#
+# AC_SUBST(POSTGRESQL_CFLAGS)
+# AC_SUBST(POSTGRESQL_LDFLAGS)
+# AC_SUBST(POSTGRESQL_VERSION)
+#
+# And sets:
+#
+# HAVE_POSTGRESQL
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 9
+
+AC_DEFUN([AX_LIB_POSTGRESQL],
+[
+ AC_ARG_WITH([postgresql],
+ AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@],
+ [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config]
+ ),
+ [
+ if test "$withval" = "no"; then
+ want_postgresql="no"
+ elif test "$withval" = "yes"; then
+ want_postgresql="yes"
+ else
+ want_postgresql="yes"
+ PG_CONFIG="$withval"
+ fi
+ ],
+ [want_postgresql="yes"]
+ )
+
+ POSTGRESQL_CFLAGS=""
+ POSTGRESQL_LDFLAGS=""
+ POSTGRESQL_VERSION=""
+
+ dnl
+ dnl Check PostgreSQL libraries (libpq)
+ dnl
+
+ if test "$want_postgresql" = "yes"; then
+
+ if test -z "$PG_CONFIG" -o test; then
+ AC_PATH_PROG([PG_CONFIG], [pg_config], [])
+ fi
+
+ if test ! -x "$PG_CONFIG"; then
+ AC_MSG_ERROR([$PG_CONFIG does not exist or it is not an exectuable file])
+ PG_CONFIG="no"
+ found_postgresql="no"
+ fi
+
+ if test "$PG_CONFIG" != "no"; then
+ AC_MSG_CHECKING([for PostgreSQL libraries])
+
+ POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
+ POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir` -lpq"
+
+ POSTGRESQL_VERSION=`$PG_CONFIG --version | sed -e 's#PostgreSQL ##'`
+
+ AC_DEFINE([HAVE_POSTGRESQL], [1],
+ [Define to 1 if PostgreSQL libraries are available])
+
+ found_postgresql="yes"
+ AC_MSG_RESULT([yes])
+ else
+ found_postgresql="no"
+ AC_MSG_RESULT([no])
+ fi
+ fi
+
+ dnl
+ dnl Check if required version of PostgreSQL is available
+ dnl
+
+
+ postgresql_version_req=ifelse([$1], [], [], [$1])
+
+ if test "$found_postgresql" = "yes" -a -n "$postgresql_version_req"; then
+
+ AC_MSG_CHECKING([if PostgreSQL version is >= $postgresql_version_req])
+
+ dnl Decompose required version string of PostgreSQL
+ dnl and calculate its number representation
+ postgresql_version_req_major=`expr $postgresql_version_req : '\([[0-9]]*\)'`
+ postgresql_version_req_minor=`expr $postgresql_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+ postgresql_version_req_micro=`expr $postgresql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$postgresql_version_req_micro" = "x"; then
+ postgresql_version_req_micro="0"
+ fi
+
+ postgresql_version_req_number=`expr $postgresql_version_req_major \* 1000000 \
+ \+ $postgresql_version_req_minor \* 1000 \
+ \+ $postgresql_version_req_micro`
+
+ dnl Decompose version string of installed PostgreSQL
+ dnl and calculate its number representation
+ postgresql_version_major=`expr $POSTGRESQL_VERSION : '\([[0-9]]*\)'`
+ postgresql_version_minor=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'`
+ postgresql_version_micro=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$postgresql_version_micro" = "x"; then
+ postgresql_version_micro="0"
+ fi
+
+ postgresql_version_number=`expr $postgresql_version_major \* 1000000 \
+ \+ $postgresql_version_minor \* 1000 \
+ \+ $postgresql_version_micro`
+
+ postgresql_version_check=`expr $postgresql_version_number \>\= $postgresql_version_req_number`
+ if test "$postgresql_version_check" = "1"; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+
+ AC_SUBST([POSTGRESQL_VERSION])
+ AC_SUBST([POSTGRESQL_CFLAGS])
+ AC_SUBST([POSTGRESQL_LDFLAGS])
+])
diff --git a/src/pplib/autoconf/ax_lib_sqlite3.m4 b/src/pplib/autoconf/ax_lib_sqlite3.m4
new file mode 100644
index 0000000..7771716
--- /dev/null
+++ b/src/pplib/autoconf/ax_lib_sqlite3.m4
@@ -0,0 +1,156 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_sqlite3.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_SQLITE3([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# Test for the SQLite 3 library of a particular version (or newer)
+#
+# This macro takes only one optional argument, required version of SQLite
+# 3 library. If required version is not passed, 3.0.0 is used in the test
+# of existance of SQLite 3.
+#
+# If no intallation prefix to the installed SQLite library is given the
+# macro searches under /usr, /usr/local, and /opt.
+#
+# This macro calls:
+#
+# AC_SUBST(SQLITE3_CFLAGS)
+# AC_SUBST(SQLITE3_LDFLAGS)
+# AC_SUBST(SQLITE3_VERSION)
+#
+# And sets:
+#
+# HAVE_SQLITE3
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 14
+
+AC_DEFUN([AX_LIB_SQLITE3],
+[
+ AC_ARG_WITH([sqlite3],
+ AS_HELP_STRING(
+ [--with-sqlite3=@<:@ARG@:>@],
+ [use SQLite 3 library @<:@default=yes@:>@, optionally specify the prefix for sqlite3 library]
+ ),
+ [
+ if test "$withval" = "no"; then
+ WANT_SQLITE3="no"
+ elif test "$withval" = "yes"; then
+ WANT_SQLITE3="yes"
+ ac_sqlite3_path=""
+ else
+ WANT_SQLITE3="yes"
+ ac_sqlite3_path="$withval"
+ fi
+ ],
+ [WANT_SQLITE3="yes"]
+ )
+
+ SQLITE3_CFLAGS=""
+ SQLITE3_LDFLAGS=""
+ SQLITE3_VERSION=""
+
+ if test "x$WANT_SQLITE3" = "xyes"; then
+
+ ac_sqlite3_header="sqlite3.h"
+
+ sqlite3_version_req=ifelse([$1], [], [3.0.0], [$1])
+ sqlite3_version_req_shorten=`expr $sqlite3_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
+ sqlite3_version_req_major=`expr $sqlite3_version_req : '\([[0-9]]*\)'`
+ sqlite3_version_req_minor=`expr $sqlite3_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+ sqlite3_version_req_micro=`expr $sqlite3_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+ if test "x$sqlite3_version_req_micro" = "x" ; then
+ sqlite3_version_req_micro="0"
+ fi
+
+ sqlite3_version_req_number=`expr $sqlite3_version_req_major \* 1000000 \
+ \+ $sqlite3_version_req_minor \* 1000 \
+ \+ $sqlite3_version_req_micro`
+
+ AC_MSG_CHECKING([for SQLite3 library >= $sqlite3_version_req])
+
+ if test "$ac_sqlite3_path" != ""; then
+ ac_sqlite3_ldflags="-L$ac_sqlite3_path/lib"
+ ac_sqlite3_cppflags="-I$ac_sqlite3_path/include"
+ else
+ for ac_sqlite3_path_tmp in /usr /usr/local /opt ; do
+ if test -f "$ac_sqlite3_path_tmp/include/$ac_sqlite3_header" \
+ && test -r "$ac_sqlite3_path_tmp/include/$ac_sqlite3_header"; then
+ ac_sqlite3_path=$ac_sqlite3_path_tmp
+ ac_sqlite3_cppflags="-I$ac_sqlite3_path_tmp/include"
+ ac_sqlite3_ldflags="-L$ac_sqlite3_path_tmp/lib"
+ break;
+ fi
+ done
+ fi
+
+ ac_sqlite3_ldflags="$ac_sqlite3_ldflags -lsqlite3"
+
+ saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $ac_sqlite3_cppflags"
+
+ AC_LANG_PUSH(C)
+ AC_COMPILE_IFELSE(
+ [
+ AC_LANG_PROGRAM([[@%:@include ]],
+ [[
+#if (SQLITE_VERSION_NUMBER >= $sqlite3_version_req_number)
+/* Everything is okay */
+#else
+# error SQLite version is too old
+#endif
+ ]]
+ )
+ ],
+ [
+ AC_MSG_RESULT([yes])
+ success="yes"
+ ],
+ [
+ AC_MSG_RESULT([not found])
+ success="no"
+ ]
+ )
+ AC_LANG_POP(C)
+
+ CPPFLAGS="$saved_CPPFLAGS"
+
+ if test "$success" = "yes"; then
+
+ SQLITE3_CFLAGS="$ac_sqlite3_cppflags"
+ SQLITE3_LDFLAGS="$ac_sqlite3_ldflags"
+
+ ac_sqlite3_header_path="$ac_sqlite3_path/include/$ac_sqlite3_header"
+
+ dnl Retrieve SQLite release version
+ if test "x$ac_sqlite3_header_path" != "x"; then
+ ac_sqlite3_version=`cat $ac_sqlite3_header_path \
+ | grep '#define.*SQLITE_VERSION.*\"' | sed -e 's/.* "//' \
+ | sed -e 's/"//'`
+ if test $ac_sqlite3_version != ""; then
+ SQLITE3_VERSION=$ac_sqlite3_version
+ else
+ AC_MSG_WARN([Cannot find SQLITE_VERSION macro in sqlite3.h header to retrieve SQLite version!])
+ fi
+ fi
+
+ AC_SUBST(SQLITE3_CFLAGS)
+ AC_SUBST(SQLITE3_LDFLAGS)
+ AC_SUBST(SQLITE3_VERSION)
+ AC_DEFINE([HAVE_SQLITE3], [], [Have the SQLITE3 library])
+ fi
+ fi
+])
diff --git a/src/pplib/autoconf/ax_path_lib_pcre.m4 b/src/pplib/autoconf/ax_path_lib_pcre.m4
new file mode 100644
index 0000000..562da97
--- /dev/null
+++ b/src/pplib/autoconf/ax_path_lib_pcre.m4
@@ -0,0 +1,101 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_path_lib_pcre.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PATH_LIB_PCRE [(A/NA)]
+#
+# DESCRIPTION
+#
+# check for pcre lib and set PCRE_LIBS and PCRE_CFLAGS accordingly.
+#
+# also provide --with-pcre option that may point to the $prefix of the
+# pcre installation - the macro will check $pcre/include and $pcre/lib to
+# contain the necessary files.
+#
+# the usual two ACTION-IF-FOUND / ACTION-IF-NOT-FOUND are supported and
+# they can take advantage of the LIBS/CFLAGS additions.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Guido U. Draheim
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AC_DEFUN([AX_PATH_LIB_PCRE],[dnl
+AC_MSG_CHECKING([lib pcre])
+AC_ARG_WITH(pcre,
+[ --with-pcre[[=prefix]] compile xmlpcre part (via libpcre check)],,
+ with_pcre="yes")
+if test ".$with_pcre" = ".no" ; then
+ AC_MSG_RESULT([disabled])
+ m4_ifval($2,$2)
+else
+ AC_MSG_RESULT([(testing)])
+ OLDLIBS="$LIBS"
+ AC_CHECK_LIB(pcre, pcre_study)
+ if test "$ac_cv_lib_pcre_pcre_study" = "yes" ; then
+ PCRE_LIBS="-lpcre"
+ AC_MSG_CHECKING([lib pcre])
+ AC_MSG_RESULT([$PCRE_LIBS])
+ m4_ifval($1,$1)
+ else
+ OLDLDFLAGS="$LDFLAGS" ; LDFLAGS="$LDFLAGS -L$with_pcre/lib"
+ OLDCPPFLAGS="$CPPFLAGS" ; CPPFLAGS="$CPPFLAGS -I$with_pcre/include"
+ AC_CHECK_LIB(pcre, pcre_compile)
+ CPPFLAGS="$OLDCPPFLAGS"
+ LDFLAGS="$OLDLDFLAGS"
+ if test "$ac_cv_lib_pcre_pcre_compile" = "yes" ; then
+ AC_MSG_RESULT(.setting PCRE_LIBS -L$with_pcre/lib -lpcre)
+ PCRE_LIBS="-L$with_pcre/lib -lpcre"
+ test -d "$with_pcre/include" && PCRE_CFLAGS="-I$with_pcre/include"
+ AC_MSG_CHECKING([lib pcre])
+ AC_MSG_RESULT([$PCRE_LIBS])
+ m4_ifval($1,$1)
+ else
+ AC_PATH_PROG([PKGCONFIG], [pkg-config], [no])
+ AC_MSG_CHECKING([lib pcre found with $PKGCONFIG])
+ if test "$PKGCONFIG" != "no" && `$PKGCONFIG --exists libpcre`
+ then
+ AC_MSG_RESULT([yes])
+ PCRE_LIBS=`$PKGCONFIG --libs libpcre`
+ PCRE_CFLAGS=`$PKGCONFIG --cflags libpcre`
+ m4_ifval($1,$1)
+ else
+ AC_MSG_RESULT([no])
+ m4_ifval($2,$2)
+ fi
+ fi
+ fi
+ LIBS="$OLDLIBS"
+fi
+AC_SUBST([PCRE_LIBS])
+AC_SUBST([PCRE_CFLAGS])
+])
diff --git a/src/pplib/autoconf/ax_pthread.m4 b/src/pplib/autoconf/ax_pthread.m4
new file mode 100644
index 0000000..6d400ed
--- /dev/null
+++ b/src/pplib/autoconf/ax_pthread.m4
@@ -0,0 +1,317 @@
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+# This macro figures out how to build C programs using POSIX threads. It
+# sets the PTHREAD_LIBS output variable to the threads library and linker
+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+# flags that are needed. (The user can also force certain compiler
+# flags/libs to be tested by setting these environment variables.)
+#
+# Also sets PTHREAD_CC to any special C compiler that is needed for
+# multi-threaded programs (defaults to the value of CC otherwise). (This
+# is necessary on AIX to use the special cc_r compiler alias.)
+#
+# NOTE: You are assumed to not only compile your program with these flags,
+# but also link it with them as well. e.g. you should link with
+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+# If you are only building threads programs, you may wish to use these
+# variables in your default LIBS, CFLAGS, and CC:
+#
+# LIBS="$PTHREAD_LIBS $LIBS"
+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+# CC="$PTHREAD_CC"
+#
+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
+# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
+# PTHREAD_CFLAGS.
+#
+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+# is not found. If ACTION-IF-FOUND is not specified, the default action
+# will define HAVE_PTHREAD.
+#
+# Please let the authors know if this macro fails on any platform, or if
+# you have any other suggestions or comments. This macro was based on work
+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
+# grateful for the helpful feedback of numerous users.
+#
+# Updated for Autoconf 2.68 by Daniel Richard G.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2011 Daniel Richard G.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 20
+
+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
+AC_DEFUN([AX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_LANG_PUSH([C])
+ax_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on True64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS])
+ AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes)
+ AC_MSG_RESULT($ax_pthread_ok)
+ if test x"$ax_pthread_ok" = xno; then
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+ fi
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try. Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important. Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+# other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
+# -pthreads: Solaris/gcc
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+# doesn't hurt to check since this sometimes defines pthreads too;
+# also defines -D_REENTRANT)
+# ... -mt is also the pthreads flag for HP/aCC
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case ${host_os} in
+ solaris*)
+
+ # On Solaris (at least, for some versions), libc contains stubbed
+ # (non-functional) versions of the pthreads routines, so link-based
+ # tests will erroneously succeed. (We need to link with -pthreads/-mt/
+ # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
+ # a function called by this macro, so we could check for that, but
+ # who knows whether they'll stub that too in a future libc.) So,
+ # we'll just look for -pthreads and -lpthread first:
+
+ ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags"
+ ;;
+
+ darwin*)
+ ax_pthread_flags="-pthread $ax_pthread_flags"
+ ;;
+esac
+
+if test x"$ax_pthread_ok" = xno; then
+for flag in $ax_pthread_flags; do
+
+ case $flag in
+ none)
+ AC_MSG_CHECKING([whether pthreads work without any flags])
+ ;;
+
+ -*)
+ AC_MSG_CHECKING([whether pthreads work with $flag])
+ PTHREAD_CFLAGS="$flag"
+ ;;
+
+ pthread-config)
+ AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no)
+ if test x"$ax_pthread_config" = xno; then continue; fi
+ PTHREAD_CFLAGS="`pthread-config --cflags`"
+ PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+ ;;
+
+ *)
+ AC_MSG_CHECKING([for the pthreads library -l$flag])
+ PTHREAD_LIBS="-l$flag"
+ ;;
+ esac
+
+ save_LIBS="$LIBS"
+ save_CFLAGS="$CFLAGS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # Check for various functions. We must include pthread.h,
+ # since some functions may be macros. (On the Sequent, we
+ # need a special flag -Kthread to make this header compile.)
+ # We check for pthread_join because it is in -lpthread on IRIX
+ # while pthread_create is in libc. We check for pthread_attr_init
+ # due to DEC craziness with -lpthreads. We check for
+ # pthread_cleanup_push because it is one of the few pthread
+ # functions on Solaris that doesn't have a non-functional libc stub.
+ # We try pthread_create on general principles.
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include
+ static void routine(void *a) { a = 0; }
+ static void *start_routine(void *a) { return a; }],
+ [pthread_t th; pthread_attr_t attr;
+ pthread_create(&th, 0, start_routine, 0);
+ pthread_join(th, 0);
+ pthread_attr_init(&attr);
+ pthread_cleanup_push(routine, 0);
+ pthread_cleanup_pop(0) /* ; */])],
+ [ax_pthread_ok=yes],
+ [])
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ AC_MSG_RESULT($ax_pthread_ok)
+ if test "x$ax_pthread_ok" = xyes; then
+ break;
+ fi
+
+ PTHREAD_LIBS=""
+ PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$ax_pthread_ok" = xyes; then
+ save_LIBS="$LIBS"
+ LIBS="$PTHREAD_LIBS $LIBS"
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+
+ # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+ AC_MSG_CHECKING([for joinable pthread attribute])
+ attr_name=unknown
+ for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ],
+ [int attr = $attr; return attr /* ; */])],
+ [attr_name=$attr; break],
+ [])
+ done
+ AC_MSG_RESULT($attr_name)
+ if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
+ AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
+ [Define to necessary symbol if this constant
+ uses a non-standard name on your system.])
+ fi
+
+ AC_MSG_CHECKING([if more special flags are required for pthreads])
+ flag=no
+ case ${host_os} in
+ aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";;
+ osf* | hpux*) flag="-D_REENTRANT";;
+ solaris*)
+ if test "$GCC" = "yes"; then
+ flag="-D_REENTRANT"
+ else
+ flag="-mt -D_REENTRANT"
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT(${flag})
+ if test "x$flag" != xno; then
+ PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS"
+ fi
+
+ AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
+ ax_cv_PTHREAD_PRIO_INHERIT, [
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])],
+ [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+ [ax_cv_PTHREAD_PRIO_INHERIT=no])
+ ])
+ AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"],
+ AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.]))
+
+ LIBS="$save_LIBS"
+ CFLAGS="$save_CFLAGS"
+
+ # More AIX lossage: compile with *_r variant
+ if test "x$GCC" != xyes; then
+ case $host_os in
+ aix*)
+ AS_CASE(["x/$CC"],
+ [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+ [#handle absolute path differently from PATH based program lookup
+ AS_CASE(["x$CC"],
+ [x/*],
+ [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+ [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+ ;;
+ esac
+ fi
+fi
+
+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+
+AC_SUBST(PTHREAD_LIBS)
+AC_SUBST(PTHREAD_CFLAGS)
+AC_SUBST(PTHREAD_CC)
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test x"$ax_pthread_ok" = xyes; then
+ ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
+ :
+else
+ ax_pthread_ok=no
+ $2
+fi
+AC_LANG_POP
+])dnl AX_PTHREAD
diff --git a/src/pplib/autoconf/bzip2.m4 b/src/pplib/autoconf/bzip2.m4
new file mode 100644
index 0000000..77a2d58
--- /dev/null
+++ b/src/pplib/autoconf/bzip2.m4
@@ -0,0 +1,64 @@
+dnl AM_BZIP2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AM_BZIP2],[dnl
+AC_MSG_CHECKING([for compatible bzip2 library and headers])
+AC_ARG_WITH([bzip2],
+ [ --with-bzip2[[=PATH]] Prefix where bzip2 is installed (optional)],
+ [bzip2_prefix="$withval"],
+ [bzip2_prefix="no"])
+
+am_save_CPPFLAGS="$CPPFLAGS"
+am_save_LIBS="$LIBS"
+am_save_LDFLAGS="$LDFLAGS"
+BZ2_LIBS="-lbz2"
+BZ2_CFLAGS=""
+report_have_bzip2="no"
+ if test "$bzip2_prefix" != "yes"
+ then
+ if test "$bzip2_prefix" != "no"
+ then
+ LIBS="-L$bzip2_prefix/lib -lbz2"
+ CPPFLAGS="-I$bzip2_prefix/include"
+ BZ2_LIBS="-L$bzip2_prefix/lib -lbz2"
+ BZ2_CFLAGS="-I$bzip2_prefix/include"
+ else
+ LIBS="$LIBS -lbz2"
+ BZ2_LIBS="-lbz2"
+ fi
+ else
+ LIBS="$LIBS -lbz2"
+ BZ2_LIBS="-lbz2"
+ fi
+ AC_LINK_IFELSE( [AC_LANG_SOURCE([[
+ #include
+ int main()
+ {
+ char* source = "Hello World";
+ char* dest;
+ unsigned int destLen = 1000;
+ unsigned int sourceLen = 1000;
+ int blockSize100k = 5;
+ int verbosity = 0;
+ int workFactor = 5;
+ BZ2_bzBuffToBuffCompress( dest, &destLen, source,
+ sourceLen, blockSize100k,
+ verbosity, workFactor);
+ }
+ ]]) ],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_BZIP2, 1, [ Define if you have bzip2. ])
+ AC_SUBST(BZ2_CFLAGS)
+ AC_SUBST(BZ2_LIBS)
+ report_have_bzip2="yes"
+
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ]
+ )
+
+CPPFLAGS=$am_save_CPPFLAGS
+LIBS=$am_save_LIBS
+LDFLAGS=$am_save_LDFLAGS
+
+
+])
diff --git a/src/pplib/autoconf/checkfuncs.m4 b/src/pplib/autoconf/checkfuncs.m4
new file mode 100644
index 0000000..84d0e67
--- /dev/null
+++ b/src/pplib/autoconf/checkfuncs.m4
@@ -0,0 +1,64 @@
+dnl AC_FIND_FUNC_NO_LIBS(func, libraries, includes, arguments)
+AC_DEFUN([AC_FIND_FUNC_NO_LIBS], [
+
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(ac_cv_funclib_$1,
+[
+if eval "test \"\$ac_cv_func_$1\" != yes" ; then
+ ac_save_LIBS="$LIBS"
+ for ac_lib in "" $2; do
+ if test -n "$ac_lib"; then
+ ac_lib="-l$ac_lib"
+ LIBS="$ac_lib $ac_save_LIBS"
+ fi
+ AC_TRY_LINK([$3],[$1($4)],eval "if test -n \"$ac_lib\";then ac_cv_funclib_$1=$ac_lib; else ac_cv_funclib_$1=yes; fi";break)
+ done
+ eval "ac_cv_funclib_$1=\${ac_cv_funclib_$1-no}"
+ LIBS="$ac_save_LIBS"
+fi
+])
+
+eval "ac_res=\$ac_cv_funclib_$1"
+
+# autoheader tricks *sigh*
+: << END
+@@@funcs="$funcs $1"@@@
+@@@libs="$libs $2"@@@
+END
+
+changequote(, )dnl
+eval "ac_tr_func=HAVE_`echo $1 | tr '[a-z]' '[A-Z]'`"
+eval "ac_tr_lib=HAVE_LIB`echo $ac_res | sed -e 's/-l//' | tr '[a-z]' '[A-Z]'`"
+eval "LIB_$1=$ac_res"
+changequote([, ])dnl
+
+case "$ac_res" in
+ yes)
+ eval "ac_cv_func_$1=yes"
+ eval "LIB_$1="
+ AC_DEFINE_UNQUOTED($ac_tr_func)
+ AC_MSG_RESULT([yes])
+ ;;
+ no)
+ eval "ac_cv_func_$1=no"
+ eval "LIB_$1="
+ AC_MSG_RESULT([no])
+ ;;
+ *)
+ eval "ac_cv_func_$1=yes"
+ eval "ac_cv_lib_`echo "$ac_res" | sed 's/-l//'`=yes"
+ AC_DEFINE_UNQUOTED($ac_tr_func)
+ AC_DEFINE_UNQUOTED($ac_tr_lib)
+ AC_MSG_RESULT([yes, in $ac_res])
+ ;;
+esac
+AC_SUBST(LIB_$1)
+])
+
+dnl AC_FIND_FUNC(func, libraries, includes, arguments)
+AC_DEFUN([AC_FIND_FUNC], [
+AC_FIND_FUNC_NO_LIBS([$1], [$2], [$3], [$4])
+if test -n "$LIB_$1"; then
+ LIBS="$LIB_$1 $LIBS"
+fi
+])
diff --git a/src/pplib/autoconf/compile b/src/pplib/autoconf/compile
new file mode 100755
index 0000000..531136b
--- /dev/null
+++ b/src/pplib/autoconf/compile
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey .
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to or send patches to
+# .
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to .
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/pplib/autoconf/config.guess b/src/pplib/autoconf/config.guess
new file mode 100755
index 0000000..5a328aa
--- /dev/null
+++ b/src/pplib/autoconf/config.guess
@@ -0,0 +1,1547 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2013 Free Software Foundation, Inc.
+
+timestamp='2013-05-16'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see .
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to ."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2013 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit ;;
+ *:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux${UNAME_RELEASE}
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval $set_cc_for_build
+ SUN_ARCH="i386"
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH="x86_64"
+ fi
+ fi
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
+ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`$dummy $dummyarg` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include
+ #include
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ eval $set_cc_for_build
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit ;;
+ i*:MSYS*:*)
+ echo ${UNAME_MACHINE}-pc-msys
+ exit ;;
+ i*:windows32*:*)
+ # uname -m includes "-pc" on this system.
+ echo ${UNAME_MACHINE}-mingw32
+ exit ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case ${UNAME_MACHINE} in
+ x86)
+ echo i586-pc-interix${UNAME_RELEASE}
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix${UNAME_RELEASE}
+ exit ;;
+ esac ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit ;;
+ 8664:Windows_NT:*)
+ echo x86_64-pc-mks
+ exit ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ exit ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arm*:Linux:*:*)
+ eval $set_cc_for_build
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
+ else
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ cris:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ crisv32:Linux:*:*)
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
+ exit ;;
+ frv:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ hexagon:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:Linux:*:*)
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ exit ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+ ;;
+ or1k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ or32:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-${LIBC}
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-${LIBC}
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-${LIBC}
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
+ exit ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ tile*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ vax:Linux:*:*)
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+ exit ;;
+ x86_64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configury will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes .
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo ${UNAME_MACHINE}-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux${UNAME_RELEASE}
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux${UNAME_RELEASE}
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-?:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+ exit ;;
+ i*86:rdos:*:*)
+ echo ${UNAME_MACHINE}-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo ${UNAME_MACHINE}-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
+esac
+
+eval $set_cc_for_build
+cat >$dummy.c <
+# include
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+ { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ c34*)
+ echo c34-convex-bsd
+ exit ;;
+ c38*)
+ echo c38-convex-bsd
+ exit ;;
+ c4*)
+ echo c4-convex-bsd
+ exit ;;
+ esac
+fi
+
+cat >&2 < in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/pplib/autoconf/config.rpath b/src/pplib/autoconf/config.rpath
new file mode 100644
index 0000000..c547c68
--- /dev/null
+++ b/src/pplib/autoconf/config.rpath
@@ -0,0 +1,666 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2007 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit , 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ darwin*)
+ case $cc_basename in
+ xlc*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | pw32* | os2*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ newsos6)
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ icc* | ecc*)
+ wl='-Wl,'
+ ;;
+ pgcc | pgf77 | pgf90)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ wl='-Wl,'
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ case "$host_os" in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # Samuel A. Falvo II reports
+ # that the semantics of dynamic libraries on AmigaOS, at least up
+ # to version 4, is to share data among multiple programs linked
+ # with the same dynamic library. Since this doesn't match the
+ # behavior of shared libraries on other platforms, we cannot use
+ # them.
+ ld_shlibs=no
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | k*bsd*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix4* | aix5*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ # see comment about different semantics on the GNU ld section
+ ld_shlibs=no
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if test "$GCC" = yes ; then
+ :
+ else
+ case $cc_basename in
+ xlc*)
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd1*)
+ ld_shlibs=no
+ ;;
+ freebsd2.2*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ freebsd2*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ ;;
+ *)
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ library_names_spec='$libname.a'
+ ;;
+ aix4* | aix5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ amigaos*)
+ library_names_spec='$libname.a'
+ ;;
+ beos*)
+ library_names_spec='$libname$shrext'
+ ;;
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ cygwin* | mingw* | pw32*)
+ shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ library_names_spec='$libname$shrext'
+ ;;
+ dgux*)
+ library_names_spec='$libname$shrext'
+ ;;
+ freebsd1*)
+ ;;
+ freebsd* | dragonfly*)
+ case "$host_os" in
+ freebsd[123]*)
+ library_names_spec='$libname$shrext$versuffix' ;;
+ *)
+ library_names_spec='$libname$shrext' ;;
+ esac
+ ;;
+ gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $host_cpu in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux* | k*bsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ netbsd*)
+ library_names_spec='$libname$shrext'
+ ;;
+ newsos6)
+ library_names_spec='$libname$shrext'
+ ;;
+ nto-qnx*)
+ library_names_spec='$libname$shrext'
+ ;;
+ openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ library_names_spec='$libname.a'
+ ;;
+ osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ uts4*)
+ library_names_spec='$libname$shrext'
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < .
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to .
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to ."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2014 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | epiphany \
+ | fido | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | we32k \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pyramid-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ z80-*-coff)
+ basic_machine=z80-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* | -cegcc* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -nacl*)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-haiku)
+ os=-haiku
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/src/pplib/autoconf/freetds.m4 b/src/pplib/autoconf/freetds.m4
new file mode 100644
index 0000000..64d391b
--- /dev/null
+++ b/src/pplib/autoconf/freetds.m4
@@ -0,0 +1,63 @@
+dnl AC_CHECK_FREETDS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+
+AC_DEFUN([AC_CHECK_FREETDS],[
+AC_MSG_CHECKING(if FreeTDS should be used)
+
+AC_ARG_WITH([freetds],
+ [ --with-freetds[[=PATH]] Prefix where freetds is installed (optional)],
+ [freetds_prefix="$withval"],
+ [freetds_prefix="auto"])
+
+if test "$freetds_prefix" != "no"
+then
+ AC_MSG_RESULT(yes)
+ my_save_LIBS="$LIBS"
+ my_save_CFLAGS="$CFLAGS"
+ my_save_LDFLAGS="$LDFLAGS"
+
+
+ if test "$freetds_prefix" = "yes" -o "$freetds_prefix" = "auto"
+ then
+ PKG_CHECK_MODULES([FreeTDS], [freedts], have_freetds="yes", have_freetds="no")
+ else
+ LIBS="-L$freetds_prefix/lib"
+ CFLAGS="-I$freetds_prefix/include"
+ FREETDS_LIBS="-L$freetds_prefix/lib"
+ FREETDS_CFLAGS="-I$freetds_prefix/include"
+ fi
+
+ if test "$have_freetds" != "yes"
+ then
+ dnl echo "FreeTDS ist nicht in autoconf, manuelle suche..."
+ AC_CHECK_LIB(rt,clock_gettime,
+ FREETDS_LIBS="$FREETDS_LIBS -lrt "
+ LIBS="$LIBS -lrt"
+ )
+ AC_CHECK_LIB(ct,ct_connect,
+ have_freetds="yes"
+ FREETDS_LIBS="-lct $FREETDS_LIBS "
+ )
+ AC_CHECK_HEADERS([ctpublic.h],,have_freetds="no")
+ fi
+ LIBS="$my_save_LIBS"
+ CFLAGS="$my_save_CFLAGS"
+ LDFLAGS="$my_save_LDFLAGS"
+else
+ AC_MSG_RESULT(no)
+fi
+
+if test $have_freetds = "yes"
+then
+ echo "FREETDS_LIBS=$FREETDS_LIBS"
+ echo "FREETDS_CFLAGS=$FREETDS_CFLAGS"
+
+ ifelse([$2], , :, [$2])
+else
+ FREETDS_LIBS=""
+ FREETDS_CFLAGS=""
+ ifelse([$3], , :, [$3])
+fi
+
+
+])
+
diff --git a/src/pplib/autoconf/freetype.m4 b/src/pplib/autoconf/freetype.m4
new file mode 100644
index 0000000..d068985
--- /dev/null
+++ b/src/pplib/autoconf/freetype.m4
@@ -0,0 +1,190 @@
+# Configure paths for FreeType2
+# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
+#
+# Copyright 2001, 2003 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+#
+# serial 2
+
+# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
+# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
+# FreeType 2.0.4).
+#
+AC_DEFUN([AC_CHECK_FT2],
+ [# Get the cflags and libraries from the freetype-config script
+ #
+ AC_ARG_WITH([ft-prefix],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--with-ft-prefix=PREFIX],
+ [Prefix where FreeType is installed (optional)]),
+ [ft_config_prefix="$withval"],
+ [ft_config_prefix=""])
+
+ AC_ARG_WITH([ft-exec-prefix],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
+ [Exec prefix where FreeType is installed (optional)]),
+ [ft_config_exec_prefix="$withval"],
+ [ft_config_exec_prefix=""])
+
+ AC_ARG_ENABLE([freetypetest],
+ dnl don't quote AS_HELP_STRING!
+ AS_HELP_STRING([--disable-freetypetest],
+ [Do not try to compile and run a test FreeType program]),
+ [],
+ [enable_fttest=yes])
+
+ if test x$ft_config_exec_prefix != x ; then
+ ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
+ if test x${FT2_CONFIG+set} != xset ; then
+ FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
+ fi
+ fi
+
+ if test x$ft_config_prefix != x ; then
+ ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
+ if test x${FT2_CONFIG+set} != xset ; then
+ FT2_CONFIG=$ft_config_prefix/bin/freetype-config
+ fi
+ fi
+
+ AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
+
+ min_ft_version=m4_if([$1], [], [7.0.1], [$1])
+ AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
+ no_ft=""
+ if test "$FT2_CONFIG" = "no" ; then
+ no_ft=yes
+ else
+ FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
+ FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
+ ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ ft_min_major_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ft_min_minor_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ft_min_micro_version=`echo $min_ft_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test x$enable_fttest = xyes ; then
+ ft_config_is_lt=""
+ if test $ft_config_major_version -lt $ft_min_major_version ; then
+ ft_config_is_lt=yes
+ else
+ if test $ft_config_major_version -eq $ft_min_major_version ; then
+ if test $ft_config_minor_version -lt $ft_min_minor_version ; then
+ ft_config_is_lt=yes
+ else
+ if test $ft_config_minor_version -eq $ft_min_minor_version ; then
+ if test $ft_config_micro_version -lt $ft_min_micro_version ; then
+ ft_config_is_lt=yes
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test x$ft_config_is_lt = xyes ; then
+ no_ft=yes
+ else
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $FT2_CFLAGS"
+ LIBS="$FT2_LIBS $LIBS"
+
+ #
+ # Sanity checks for the results of freetype-config to some extent.
+ #
+ AC_RUN_IFELSE([
+ AC_LANG_SOURCE([[
+
+#include
+#include FT_FREETYPE_H
+#include
+#include
+
+int
+main()
+{
+ FT_Library library;
+ FT_Error error;
+
+ error = FT_Init_FreeType(&library);
+
+ if (error)
+ return 1;
+ else
+ {
+ FT_Done_FreeType(library);
+ return 0;
+ }
+}
+
+ ]])
+ ],
+ [],
+ [no_ft=yes],
+ [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
+
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi # test $ft_config_version -lt $ft_min_version
+ fi # test x$enable_fttest = xyes
+ fi # test "$FT2_CONFIG" = "no"
+
+ if test x$no_ft = x ; then
+ AC_MSG_RESULT([yes])
+ m4_if([$2], [], [:], [$2])
+ else
+ AC_MSG_RESULT([no])
+ if test "$FT2_CONFIG" = "no" ; then
+ AC_MSG_WARN([
+
+ The freetype-config script installed by FreeType 2 could not be found.
+ If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
+ your path, or set the FT2_CONFIG environment variable to the
+ full path to freetype-config.
+ ])
+ else
+ if test x$ft_config_is_lt = xyes ; then
+ AC_MSG_WARN([
+
+ Your installed version of the FreeType 2 library is too old.
+ If you have different versions of FreeType 2, make sure that
+ correct values for --with-ft-prefix or --with-ft-exec-prefix
+ are used, or set the FT2_CONFIG environment variable to the
+ full path to freetype-config.
+ ])
+ else
+ AC_MSG_WARN([
+
+ The FreeType test program failed to run. If your system uses
+ shared libraries and they are installed outside the normal
+ system library path, make sure the variable LD_LIBRARY_PATH
+ (or whatever is appropiate for your system) is correctly set.
+ ])
+ fi
+ fi
+
+ FT2_CFLAGS=""
+ FT2_LIBS=""
+ m4_if([$3], [], [:], [$3])
+ fi
+
+ AC_SUBST([FT2_CFLAGS])
+ AC_SUBST([FT2_LIBS])])
+
+# end of freetype2.m4
+
+
+
diff --git a/src/pplib/autoconf/gtest.m4 b/src/pplib/autoconf/gtest.m4
new file mode 100644
index 0000000..0b86cfc
--- /dev/null
+++ b/src/pplib/autoconf/gtest.m4
@@ -0,0 +1,49 @@
+dnl AC_CHECK_GTEST([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+
+AC_DEFUN([AC_CHECK_GTEST],[
+AC_MSG_CHECKING(if googletest should be used for unittesting)
+
+AC_ARG_ENABLE([gtest],[
+AS_HELP_STRING([--enable-gtest=PATH],
+ [Enable tests using the Google C++ Testing Framework.
+ (Default is enabled.)])],
+ [],
+ [enable_gtest=])
+
+HAVE_GTEST="no"
+if test "$enable_gtest" != "no"
+then
+
+ if test -d "$enable_gtest"
+ then
+ if test -f "$enable_gtest/src/gtest-all.cc"
+ then
+ if test -d "$enable_gtest/include/gtest"
+ then
+ HAVE_GTEST="yes"
+ GTEST_PREFIX="$enable_gtest"
+ AC_SUBST([GTEST_PREFIX])
+ fi
+ fi
+ fi
+
+ if test "$HAVE_GTEST" = "yes"
+ then
+ AC_MSG_RESULT(yes: $enable_gtest)
+
+ else
+ AC_MSG_RESULT(no)
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST([HAVE_GTEST])
+if test $HAVE_GTEST = "yes"
+then
+ ifelse([$1], , :, [$1])
+else
+ ifelse([$2], , :, [$2])
+fi
+
+])
+
diff --git a/src/pplib/autoconf/iconv.m4 b/src/pplib/autoconf/iconv.m4
new file mode 100644
index 0000000..3cc6268
--- /dev/null
+++ b/src/pplib/autoconf/iconv.m4
@@ -0,0 +1,180 @@
+# iconv.m4 serial AM7 (gettext-0.18)
+dnl Copyright (C) 2000-2002, 2007-2009 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_TRY_LINK([#include
+#include ],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ [am_cv_func_iconv=yes])
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_TRY_LINK([#include
+#include ],
+ [iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ AC_TRY_RUN([
+#include
+#include
+int main ()
+{
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static const char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ return 1;
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ const char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ (char **) &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ return 1;
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ return 1;
+ return 0;
+}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
+ [case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac])
+ LIBS="$am_save_LIBS"
+ ])
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
+])
+
+AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_TRY_COMPILE([
+#include
+#include
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([${ac_t:-
+ }$am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+ [Define as const if the declaration of iconv() needs const.])
+ fi
+])
diff --git a/src/pplib/autoconf/imagemagick.m4 b/src/pplib/autoconf/imagemagick.m4
new file mode 100644
index 0000000..b89bb8d
--- /dev/null
+++ b/src/pplib/autoconf/imagemagick.m4
@@ -0,0 +1,48 @@
+dnl AX_PATH_LIB_IMLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AX_PATH_LIB_IMLIB],[dnl
+AC_MSG_CHECKING([lib ImageMagick])
+
+AC_ARG_WITH([imlib],
+ [ --with-imlib[[=PATH]] Prefix where ImageMagick is installed (default=autodetected)],
+ [imlib_prefix="$withval"],
+ [imlib_prefix=""])
+
+
+if test "$imlib_prefix" != "no"
+then
+ save_path=$PATH
+ if test -n "$imlib_prefix"
+ then
+ if test "$imlib_prefix" != "yes"
+ then
+ PATH=$imlib_prefix:$PATH
+ export PATH
+ fi
+ fi
+ echo "Suche nach imlib, imlib_prefix=$imlib_prefix, PATH: $PATH"
+ AC_PATH_PROG(imlibconfig,MagickWand-config)
+ PATH=$save_path
+ echo "imlibconfig=$imlibconfig"
+ if test [ ! -x "$imlibconfig" ] ; then
+ imlibconfig=""
+ fi
+
+ if test [ -z "$imlibconfig" ]
+ then
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ else
+ AC_MSG_RESULT(yes: $imlibconfig)
+ AC_MSG_CHECKING(imlib libraries)
+ IMLIB_LIBS=`${imlibconfig} --libs`
+ AC_MSG_RESULT($IMLIB_LIBS)
+ AC_MSG_CHECKING(imlib includes)
+ IMLIB_CFLAGS=`${imlibconfig} --cflags`
+ AC_MSG_RESULT($IMLIB_CFLAGS)
+ ifelse([$2], , :, [$2])
+ fi
+else
+ AC_MSG_RESULT(not configured)
+fi
+])
+
diff --git a/src/pplib/autoconf/imlib.m4 b/src/pplib/autoconf/imlib.m4
new file mode 100644
index 0000000..cbff0c9
--- /dev/null
+++ b/src/pplib/autoconf/imlib.m4
@@ -0,0 +1,301 @@
+# Configure paths for IMLIB
+# Frank Belew 98-8-31
+# stolen from Manish Singh
+# Shamelessly stolen from Owen Taylor
+
+dnl AM_PATH_IMLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for IMLIB, and define IMLIB_CFLAGS and IMLIB_LIBS
+dnl
+AC_DEFUN(AM_PATH_IMLIB,
+[dnl
+dnl Get the cflags and libraries from the imlib-config script
+dnl
+AC_ARG_WITH(imlib-prefix,[ --with-imlib-prefix=PFX Prefix where IMLIB is installed (optional)],
+ imlib_prefix="$withval", imlib_prefix="")
+AC_ARG_WITH(imlib-exec-prefix,[ --with-imlib-exec-prefix=PFX Exec prefix where IMLIB is installed (optional)],
+ imlib_exec_prefix="$withval", imlib_exec_prefix="")
+AC_ARG_ENABLE(imlibtest, [ --disable-imlibtest Do not try to compile and run a test IMLIB program],
+ , enable_imlibtest=yes)
+
+ if test x$imlib_exec_prefix != x ; then
+ imlib_args="$imlib_args --exec-prefix=$imlib_exec_prefix"
+ if test x${IMLIB_CONFIG+set} != xset ; then
+ IMLIB_CONFIG=$imlib_exec_prefix/bin/imlib-config
+ fi
+ fi
+ if test x$imlib_prefix != x ; then
+ imlib_args="$imlib_args --prefix=$imlib_prefix"
+ if test x${IMLIB_CONFIG+set} != xset ; then
+ IMLIB_CONFIG=$imlib_prefix/bin/imlib-config
+ fi
+ fi
+
+ AC_PATH_PROG(IMLIB_CONFIG, imlib-config, no)
+ min_imlib_version=ifelse([$1], ,1.8.2,$1)
+ AC_MSG_CHECKING(for IMLIB - version >= $min_imlib_version)
+ no_imlib=""
+ if test "$IMLIB_CONFIG" = "no" ; then
+ no_imlib=yes
+ else
+ IMLIB_CFLAGS=`$IMLIB_CONFIG $imlibconf_args --cflags`
+ IMLIB_LIBS=`$IMLIB_CONFIG $imlibconf_args --libs`
+
+ imlib_major_version=`$IMLIB_CONFIG $imlib_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ imlib_minor_version=`$IMLIB_CONFIG $imlib_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ imlib_micro_version=`$IMLIB_CONFIG $imlib_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_imlibtest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $IMLIB_CFLAGS"
+ LIBS="$LIBS $IMLIB_LIBS"
+dnl
+dnl Now check if the installed IMLIB is sufficiently new. (Also sanity
+dnl checks the results of imlib-config to some extent
+dnl
+ rm -f conf.imlibtest
+ AC_TRY_RUN([
+#include
+#include
+#include
+#include
+
+char*
+my_strdup (char *str)
+{
+ char *new_str;
+
+ if (str)
+ {
+ new_str = malloc ((strlen (str) + 1) * sizeof(char));
+ strcpy (new_str, str);
+ }
+ else
+ new_str = NULL;
+
+ return new_str;
+}
+
+int main ()
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ system ("touch conf.imlibtest");
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = my_strdup("$min_imlib_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
+ printf("%s, bad version string\n", "$min_imlib_version");
+ exit(1);
+ }
+
+ if (($imlib_major_version > major) ||
+ (($imlib_major_version == major) && ($imlib_minor_version > minor)) ||
+ (($imlib_major_version == major) && ($imlib_minor_version == minor) &&
+ ($imlib_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** 'imlib-config --version' returned %d.%d, but the minimum version\n", $imlib_major_version, $imlib_minor_version);
+ printf("*** of IMLIB required is %d.%d. If imlib-config is correct, then it is\n", major, minor);
+ printf("*** best to upgrade to the required version.\n");
+ printf("*** If imlib-config was wrong, set the environment variable IMLIB_CONFIG\n");
+ printf("*** to point to the correct copy of imlib-config, and remove the file\n");
+ printf("*** config.cache before re-running configure\n");
+ return 1;
+ }
+}
+
+],, no_imlib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_imlib" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test "$IMLIB_CONFIG" = "no" ; then
+ echo "*** The imlib-config script installed by IMLIB could not be found"
+ echo "*** If IMLIB was installed in PREFIX, make sure PREFIX/bin is in"
+ echo "*** your path, or set the IMLIB_CONFIG environment variable to the"
+ echo "*** full path to imlib-config."
+ else
+ if test -f conf.imlibtest ; then
+ :
+ else
+ echo "*** Could not run IMLIB test program, checking why..."
+ CFLAGS="$CFLAGS $IMLIB_CFLAGS"
+ LIBS="$LIBS $IMLIB_LIBS"
+ AC_TRY_LINK([
+#include
+#include
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding IMLIB or finding the wrong"
+ echo "*** version of IMLIB. If it is not finding IMLIB, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means IMLIB was incorrectly installed"
+ echo "*** or that you have moved IMLIB since it was installed. In the latter case, you"
+ echo "*** may want to edit the imlib-config script: $IMLIB_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ IMLIB_CFLAGS=""
+ IMLIB_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(IMLIB_CFLAGS)
+ AC_SUBST(IMLIB_LIBS)
+ rm -f conf.imlibtest
+])
+
+# Check for gdk-imlib
+AC_DEFUN(AM_PATH_GDK_IMLIB,
+[dnl
+dnl Get the cflags and libraries from the imlib-config script
+dnl
+AC_ARG_WITH(imlib-prefix,[ --with-imlib-prefix=PFX Prefix where IMLIB is installed (optional)],
+ imlib_prefix="$withval", imlib_prefix="")
+AC_ARG_WITH(imlib-exec-prefix,[ --with-imlib-exec-prefix=PFX Exec prefix where IMLIB is installed (optional)],
+ imlib_exec_prefix="$withval", imlib_exec_prefix="")
+AC_ARG_ENABLE(imlibtest, [ --disable-imlibtest Do not try to compile and run a test IMLIB program],
+ , enable_imlibtest=yes)
+
+ if test x$imlib_exec_prefix != x ; then
+ imlib_args="$imlib_args --exec-prefix=$imlib_exec_prefix"
+ if test x${IMLIB_CONFIG+set} != xset ; then
+ IMLIB_CONFIG=$imlib_exec_prefix/bin/imlib-config
+ fi
+ fi
+ if test x$imlib_prefix != x ; then
+ imlib_args="$imlib_args --prefix=$imlib_prefix"
+ if test x${IMLIB_CONFIG+set} != xset ; then
+ IMLIB_CONFIG=$imlib_prefix/bin/imlib-config
+ fi
+ fi
+
+ AC_PATH_PROG(IMLIB_CONFIG, imlib-config, no)
+ min_imlib_version=ifelse([$1], ,1.8.2,$1)
+ AC_MSG_CHECKING(for IMLIB - version >= $min_imlib_version)
+ no_imlib=""
+ if test "$IMLIB_CONFIG" = "no" ; then
+ no_imlib=yes
+ else
+ GDK_IMLIB_CFLAGS=`$IMLIB_CONFIG $imlibconf_args --cflags-gdk`
+ GDK_IMLIB_LIBS=`$IMLIB_CONFIG $imlibconf_args --libs-gdk`
+
+ imlib_major_version=`$IMLIB_CONFIG $imlib_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ imlib_minor_version=`$IMLIB_CONFIG $imlib_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ if test "x$enable_imlibtest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $GDK_IMLIB_CFLAGS"
+ LIBS="$LIBS $GDK_IMLIB_LIBS"
+dnl
+dnl Now check if the installed IMLIB is sufficiently new. (Also sanity
+dnl checks the results of imlib-config to some extent
+dnl
+ rm -f conf.imlibtest
+ AC_TRY_RUN([
+#include
+#include
+#include
+
+int main ()
+{
+ int major, minor;
+ char *tmp_version;
+
+ system ("touch conf.gdkimlibtest");
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = g_strdup("$min_imlib_version");
+ if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
+ printf("%s, bad version string\n", "$min_imlib_version");
+ exit(1);
+ }
+
+ if (($imlib_major_version > major) ||
+ (($imlib_major_version == major) && ($imlib_minor_version >= minor)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** 'imlib-config --version' returned %d.%d, but the minimum version\n", $imlib_major_version, $imlib_minor_version);
+ printf("*** of IMLIB required is %d.%d. If imlib-config is correct, then it is\n", major, minor);
+ printf("*** best to upgrade to the required version.\n");
+ printf("*** If imlib-config was wrong, set the environment variable IMLIB_CONFIG\n");
+ printf("*** to point to the correct copy of imlib-config, and remove the file\n");
+ printf("*** config.cache before re-running configure\n");
+ return 1;
+ }
+}
+
+],, no_imlib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_imlib" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test "$IMLIB_CONFIG" = "no" ; then
+ echo "*** The imlib-config script installed by IMLIB could not be found"
+ echo "*** If IMLIB was installed in PREFIX, make sure PREFIX/bin is in"
+ echo "*** your path, or set the IMLIB_CONFIG environment variable to the"
+ echo "*** full path to imlib-config."
+ else
+ if test -f conf.gdkimlibtest ; then
+ :
+ else
+ echo "*** Could not run IMLIB test program, checking why..."
+ CFLAGS="$CFLAGS $GDK_IMLIB_CFLAGS"
+ LIBS="$LIBS $GDK_IMLIB_LIBS"
+ AC_TRY_LINK([
+#include
+#include
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding IMLIB or finding the wrong"
+ echo "*** version of IMLIB. If it is not finding IMLIB, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means IMLIB was incorrectly installed"
+ echo "*** or that you have moved IMLIB since it was installed. In the latter case, you"
+ echo "*** may want to edit the imlib-config script: $IMLIB_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ IMLIB_CFLAGS=""
+ IMLIB_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(GDK_IMLIB_CFLAGS)
+ AC_SUBST(GDK_IMLIB_LIBS)
+ rm -f conf.gdkimlibtest
+])
diff --git a/src/pplib/autoconf/install-sh b/src/pplib/autoconf/install-sh
new file mode 100755
index 0000000..377bb86
--- /dev/null
+++ b/src/pplib/autoconf/install-sh
@@ -0,0 +1,527 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2011-11-20.07; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" "" $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t) dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) no_target_directory=true;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ eval "$initialize_posix_glob"
+
+ oIFS=$IFS
+ IFS=/
+ $posix_glob set -f
+ set fnord $dstdir
+ shift
+ $posix_glob set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ $posix_glob set +f &&
+
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/pplib/autoconf/jpeg.m4 b/src/pplib/autoconf/jpeg.m4
new file mode 100644
index 0000000..147c864
--- /dev/null
+++ b/src/pplib/autoconf/jpeg.m4
@@ -0,0 +1,42 @@
+dnl AC_CHECK_LIBPJPEG([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+
+AC_DEFUN([AC_CHECK_LIBJPEG],[
+AC_MSG_CHECKING(for libjpeg)
+
+AC_ARG_WITH([jpeg],
+ [ --with-jpeg[[=PATH]] Prefix where libjpeg is installed (optional)],
+ [jpeg_prefix="$withval"],
+ [jpeg_prefix=""])
+ if test "$jpeg_prefix" != "no"
+ then
+ AC_MSG_RESULT(yes)
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_CFLAGS="$CFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+
+ PKG_CHECK_MODULES([JPEG], [libjpeg >= 6.0.0],
+ ifelse([$2], , :, [$2])
+ ,
+ AC_SEARCH_LIBS( [jpeg_finish_decompress],[jpeg],
+ dnl echo "LIBS=$LIBS"
+ dnl echo "LDFLAGS=$LDFLAGS"
+ dnl echo "CFLAGS=$CFLAGS"
+ dnl echo "CPPFLAGS=$CPPFLAGS"
+
+ JPEG_LIBS="$LIBS"
+ JPEG_CFLAGS=""
+ ifelse([$2], , :, [$2])
+ ,
+ ifelse([$3], , :, [$3])
+ :)
+ )
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBS="$am_save_LIBS"
+ LDFLAGS="$am_save_LDFLAGS"
+ CFLAGS="$am_save_CFLAGS"
+ else
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ fi
+])
\ No newline at end of file
diff --git a/src/pplib/autoconf/lame.m4 b/src/pplib/autoconf/lame.m4
new file mode 100644
index 0000000..f2f1bb4
--- /dev/null
+++ b/src/pplib/autoconf/lame.m4
@@ -0,0 +1,57 @@
+dnl AC_CHECK_LIBMP3LAME([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AC_CHECK_LIBMP3LAME],[
+ AC_ARG_WITH([lame],
+ [[ --with-lame[=DIR] enable support for MP3 encoding with lame [in DIR]]],
+ [lame_prefix="$withval"],
+ [lame_prefix="no"])
+ AC_MSG_CHECKING(if lame should be included)
+ if test "$with_lame" != "no"
+ then
+ AC_MSG_RESULT(yes)
+ have_LAME="no"
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+
+ if test -n "$with_lame" -a "$with_lame" != "yes"
+ then
+ intLAME_CFLAGS="-I$with_lame/include"
+ intLAME_LIBS="-L$with_lame/lib -lmp3lame -lm"
+ intLAME_LDFLAGS="-L$with_lame/lib"
+ else
+ intLAME_CFLAGS=""
+ intLAME_LIBS="-lmp3lame -lm"
+ intLAME_LDFLAGS=""
+ fi
+ CPPFLAGS="$CPPFLAGS $intLAME_CFLAGS"
+ LDFLAGS="$LDFLAGS $intLAME_LDFLAGS"
+ AC_CHECK_HEADER(lame/lame.h, [
+ have_LAME="maybe",
+ AC_DEFINE(HAVE_LAME_LAME_H, 1, [Use instead of ])
+ ], [
+ AC_CHECK_HEADER(lame.h, [
+ have_LAME="maybe"
+ ])
+ ])
+ if test "$have_LAME" != "no"
+ then
+ LIBS="$LIBS $intLAME_LIBS"
+ AC_CHECK_LIB(mp3lame, lame_encode_flush_nogap,
+ LAME_CFLAGS=$intLAME_CFLAGS
+ LAME_LIBS=$intLAME_LIBS
+ LAME_LDFLAGS=$intLAME_LDFLAGS
+ ifelse([$2], , :, [$2])
+ ,
+ ifelse([$3], , :, [$3])
+ :)
+ AC_CHECK_LIB(mp3lame, hip_decode, [
+ AC_DEFINE(HAVE_LAME_HIP_DECODE, 1, [Lame has threadsafe decoder])
+ ])
+ fi
+ CPPFLAGS=$am_save_CPPFLAGS
+ LIBS=$am_save_LIBS
+ LDFLAGS=$am_save_LDFLAGD
+ else
+ AC_MSG_RESULT(no)
+ fi
+])
diff --git a/src/pplib/autoconf/ldns.m4 b/src/pplib/autoconf/ldns.m4
new file mode 100644
index 0000000..a4af360
--- /dev/null
+++ b/src/pplib/autoconf/ldns.m4
@@ -0,0 +1,65 @@
+dnl AX_PATH_LIB_LDNS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AX_PATH_LIB_LDNS],[dnl
+
+AC_ARG_WITH([libldns],
+ [ --with-libldns[[=PATH]] Prefix where LDNS-Library from netlabs.nl is installed],
+ [ldns_prefix="$withval"],
+ [ldns_prefix="no"])
+
+ if test "$ldns_prefix" = "no"
+ then
+ AC_PATH_PROG(ldnsconfig,ldns-config)
+ elif test "$ldns_prefix" != "yes"
+ then
+ ldnsconfig="$ldns_prefix/bin/ldns-config"
+ else
+ AC_PATH_PROG(ldnsconfig,ldns-config)
+ fi
+
+ AC_MSG_CHECKING([for lib ldns])
+ if test [ -z "$ldnsconfig" ]
+ then
+ AC_MSG_RESULT(no)
+
+ ifelse([$3], , :, [$3])
+ else
+ AC_MSG_RESULT(yes)
+ min_ldns_version=ifelse([$1], ,1.6.0,[$1])
+ AC_MSG_CHECKING(for ldns version >= $min_ldns_version)
+ if test [ -f ${ldnsconfig} ]
+ then
+ ldns_version=`${ldnsconfig} --version`
+ elif test [ -f $ldns_prefix/bin/ldns-version ]
+ then
+ ldns_version=`$ldns_prefix/bin/ldns-version`
+ fi
+
+ ldns_config_major_version=`echo $ldns_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ldns_config_minor_version=`echo $ldns_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ldns_config_micro_version=`echo $ldns_version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ ldns_config_version=`expr $ldns_config_major_version \* 10000 + $ldns_config_minor_version \* 100 + $ldns_config_micro_version`
+
+ ldns_req_major_version=`echo $min_ldns_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ ldns_req_minor_version=`echo $min_ldns_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ ldns_req_micro_version=`echo $min_ldns_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ ldns_req_version=`expr $ldns_req_major_version \* 10000 + $ldns_req_minor_version \* 100 + $ldns_req_micro_version`
+
+ if test $ldns_config_version -lt $ldns_req_version
+ then
+ AC_MSG_RESULT([no, have $ldns_version])
+ ifelse([$3], , :, [$3])
+ else
+ AC_MSG_RESULT([yes (version $ldns_version) ])
+ LIBLDNS_LIBS=`${ldnsconfig} --libs`
+ LIBLDNS_CFLAGS=`${ldnsconfig} --cflags`
+ ifelse([$2], , :, [$2])
+ fi
+ fi
+])
+
+
+
+
diff --git a/src/pplib/autoconf/lib-link.m4 b/src/pplib/autoconf/lib-link.m4
new file mode 100644
index 0000000..2f8b7ff
--- /dev/null
+++ b/src/pplib/autoconf/lib-link.m4
@@ -0,0 +1,764 @@
+# lib-link.m4 serial 20 (gettext-0.18)
+dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[translit([$1],[./-], [___])])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIB[]NAME"
+ AC_TRY_LINK([$3], [$4],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE([rpath],
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$acl_hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/src/pplib/autoconf/libbind.m4 b/src/pplib/autoconf/libbind.m4
new file mode 100644
index 0000000..c427943
--- /dev/null
+++ b/src/pplib/autoconf/libbind.m4
@@ -0,0 +1,197 @@
+dnl AM_CHECK_LIBBIND()
+AC_DEFUN([AM_CHECK_LIBBIND],[
+AC_ARG_WITH([libbind],
+ [ --with-libbind[[=PATH]] Prefix where libbind is installed (optional)],
+ [libbind_prefix="$withval"],
+ [libbind_prefix=""])
+
+if test "x$libbind_prefix" != "xno"
+then
+
+dnl res_query
+AC_SEARCH_LIBS(res_query,[resolv bind],have_res_query=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for res_query in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [res_query(0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_res_query=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_res_query" = "yes"
+then
+ AC_DEFINE(HAVE_RES_QUERY,1, [Define if you have res_query function])
+fi
+
+
+dnl res_search
+AC_SEARCH_LIBS(res_search,[resolv bind],have_res_search=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for res_search in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [res_search(0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_res_search=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_res_search" = "yes"
+then
+ AC_DEFINE(HAVE_RES_SEARCH,1, [Define if you have res_search function])
+fi
+
+dnl res_querydomain
+AC_SEARCH_LIBS(res_querydomain,[resolv bind],have_res_querydomain=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for res_querydomain in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [res_querydomain(0,0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_res_querydomain=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_res_querydomain" = "yes"
+then
+ AC_DEFINE(HAVE_RES_QUERYDOMAIN,1, [Define if you have res_querydomain function])
+fi
+
+dnl res_mkquery
+AC_SEARCH_LIBS(res_mkquery,[resolv bind],have_res_mkquery=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for res_mkquery in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [res_mkquery(0,0,0,0,0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_res_mkquery=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_res_mkquery" = "yes"
+then
+ AC_DEFINE(HAVE_RES_MKQUERY,1, [Define if you have res_mkquery function])
+fi
+
+dnl res_send
+AC_SEARCH_LIBS(res_send,[resolv bind],have_res_send=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for res_send in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [res_send(0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_res_send=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_res_send" = "yes"
+then
+ AC_DEFINE(HAVE_RES_SEND,1, [Define if you have res_send function])
+fi
+
+dnl dn_comp
+AC_SEARCH_LIBS(dn_comp,[resolv bind],have_dn_comp=yes,
+ [dnl Have to include resolv.h as res_query is sometimes defined as a macro
+ AC_MSG_CHECKING([for dn_comp in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [dn_comp(0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_dn_comp=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_dn_comp" = "yes"
+then
+ AC_DEFINE(HAVE_DN_COMP,1, [Define if you have dn_comp function])
+fi
+
+dnl dn_expand
+AC_SEARCH_LIBS(dn_expand,[resolv bind],have_dn_expand=yes,
+ [dnl Have to include resolv.h as dn_expand is sometimes defined as a macro
+ AC_MSG_CHECKING([for dn_expand in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [dn_expand(0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_dn_expand=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_dn_expand" = "yes"
+then
+ AC_DEFINE(HAVE_DN_EXPAND,1, [Define if you have dn_expand function])
+fi
+
+dnl ns_initparse
+AC_SEARCH_LIBS(ns_initparse,[resolv bind],have_ns_initparse=yes,
+ [dnl Have to include resolv.h as ns_initparse is sometimes defined as a macro
+ AC_MSG_CHECKING([for ns_initparse in -lresolv (with resolv.h if present)])
+ saved_libs="$LIBS"
+ LIBS="-lresolv $LIBS"
+ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #include
+ #endif],
+ [ns_initparse(0,0,0,0,0)],
+ [AC_MSG_RESULT(yes)
+ have_ns_initparse=yes],
+ [AC_MSG_RESULT(no)
+ LIBS="$saved_libs"])
+ ]
+)
+
+if test "$have_ns_initparse" = "yes"
+then
+ AC_DEFINE(HAVE_NS_INITPARSE,1, [Define if you have ns_initparse function])
+fi
+
+fi
+])
diff --git a/src/pplib/autoconf/libcdio.m4 b/src/pplib/autoconf/libcdio.m4
new file mode 100644
index 0000000..7427ac4
--- /dev/null
+++ b/src/pplib/autoconf/libcdio.m4
@@ -0,0 +1,82 @@
+dnl AX_CHECK_LIBCDIO([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl
+dnl Autor: Patrick Fedick
+dnl
+dnl If library is found, it sets the following defines:
+dnl HAVE_LIBCDIO
+dnl LIBCDIO_CFLAGS
+dnl LIBCDIO_LDFLAGS
+
+AC_DEFUN([AX_CHECK_LIBCDIO],[
+AC_MSG_CHECKING(if we should use libcdio)
+
+AC_ARG_WITH([libcdio],
+ [ --with-libcdio[[=PATH]] support accesing audio cds (optional)],
+ [libcdio_prefix="$withval"],
+ [libcdio_prefix="auto"])
+
+ have_libcdio="no"
+
+ if test "$libcdio_prefix" != "no"
+ then
+ AC_MSG_RESULT(yes)
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+
+ if test -n "$libcdio_prefix" -a "$libcdio_prefix" != "yes" -a "$libcdio_prefix" != "auto"
+ then
+ LIBCDIO_CFLAGS="-I$with_libcdio/include"
+ LIBCDIO_LDFLAGS="-L$with_libcdio/lib -lcdio "
+ else
+ AC_PATH_PROG([PKGCONFIG], [pkg-config], [no])
+ if test "$PKGCONFIG" != "no" && `$PKGCONFIG --exists libcdio`
+ then
+ LIBCDIO_CFLAGS=`$PKGCONFIG --cflags libcdio `
+ LIBCDIO_LDFLAGS=`$PKGCONFIG --libs libcdio `
+ else
+ PKG_CHECK_MODULES([libcdio], [libcdio],
+ LIBCDIO_CFLAGS=$libcdio_CFLAGS
+ LIBCDIO_LDFLAGS=$libcdio_LIBS
+ ,
+ LIBCDIO_LDFLAGS="-lcdio "
+ )
+ fi
+ fi
+
+ CFLAGS="$CFLAGS $LIBCDIO_CFLAGS"
+ LDFLAGS="$LDFLAGS $LIBCDIO_LDFLAGS"
+ AC_MSG_CHECKING(if we can link against libcdio)
+ AC_TRY_LINK([
+ #include
+ #include
+ ],[
+ CdIo_t *p_cdio = cdio_open (NULL, DRIVER_DEVICE);
+ ],
+ AC_MSG_RESULT(yes)
+ have_libcdio="yes"
+ ,
+ AC_MSG_RESULT(no)
+ )
+
+
+ CPPFLAGS=$am_save_CPPFLAGS
+ LIBS=$am_save_LIBS
+ LDFLAGS=$am_save_LDFLAGS
+ else
+ AC_MSG_RESULT(no)
+ fi
+ if test $have_libcdio = "yes"
+ then
+ AC_DEFINE(HAVE_LIBCDIO, 1, [Define if you have the libcdio library])
+ ifelse([$1], , :, [$1])
+ else
+ LIBCDIO_CFLAGS=""
+ LIBCDIO_LDFLAGS=""
+ ifelse([$2], , :, [$2])
+ fi
+ AC_SUBST(LIBCDIO_CFLAGS)
+ AC_SUBST(LIBCDIO_LDFLAGS)
+
+])
diff --git a/src/pplib/autoconf/libcurl.m4 b/src/pplib/autoconf/libcurl.m4
new file mode 100644
index 0000000..2cf3edd
--- /dev/null
+++ b/src/pplib/autoconf/libcurl.m4
@@ -0,0 +1,272 @@
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 2006, David Shaw
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+# LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION],
+# [ACTION-IF-YES], [ACTION-IF-NO])
+# ----------------------------------------------------------
+# David Shaw May-09-2006
+#
+# Checks for libcurl. DEFAULT-ACTION is the string yes or no to
+# specify whether to default to --with-libcurl or --without-libcurl.
+# If not supplied, DEFAULT-ACTION is yes. MINIMUM-VERSION is the
+# minimum version of libcurl to accept. Pass the version as a regular
+# version number like 7.10.1. If not supplied, any version is
+# accepted. ACTION-IF-YES is a list of shell commands to run if
+# libcurl was successfully found and passed the various tests.
+# ACTION-IF-NO is a list of shell commands that are run otherwise.
+# Note that using --without-libcurl does run ACTION-IF-NO.
+#
+# This macro #defines HAVE_LIBCURL if a working libcurl setup is
+# found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary
+# values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are
+# the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy
+# where yyy are the various protocols supported by libcurl. Both xxx
+# and yyy are capitalized. See the list of AH_TEMPLATEs at the top of
+# the macro for the complete list of possible defines. Shell
+# variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also
+# defined to 'yes' for those features and protocols that were found.
+# Note that xxx and yyy keep the same capitalization as in the
+# curl-config list (e.g. it's "HTTP" and not "http").
+#
+# Users may override the detected values by doing something like:
+# LIBCURL="-lcurl" LIBCURL_CPPFLAGS="-I/usr/myinclude" ./configure
+#
+# For the sake of sanity, this macro assumes that any libcurl that is
+# found is after version 7.7.2, the first version that included the
+# curl-config script. Note that it is very important for people
+# packaging binary versions of libcurl to include this script!
+# Without curl-config, we can only guess what protocols are available,
+# or use curl_version_info to figure it out at runtime.
+
+AC_DEFUN([LIBCURL_CHECK_CONFIG],
+[
+ AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL])
+ AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4])
+ AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6])
+ AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz])
+ AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS])
+ AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN])
+ AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI])
+ AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM])
+
+ AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_RTSP],[Defined if libcurl supports RTSP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_POP3],[Defined if libcurl supports POP3])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_IMAP],[Defined if libcurl supports IMAP])
+ AH_TEMPLATE([LIBCURL_PROTOCOL_SMTP],[Defined if libcurl supports SMTP])
+
+ AC_ARG_WITH(libcurl,
+ AC_HELP_STRING([--with-libcurl=PREFIX],[look for the curl library in PREFIX/lib and headers in PREFIX/include]),
+ [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])])
+
+ if test "$_libcurl_with" != "no" ; then
+
+ AC_PROG_AWK
+
+ _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'"
+
+ _libcurl_try_link=yes
+
+ if test -d "$_libcurl_with" ; then
+ LIBCURL_CPPFLAGS="-I$withval/include"
+ _libcurl_ldflags="-L$withval/lib"
+ AC_PATH_PROG([_libcurl_config],[curl-config],[],
+ ["$withval/bin"])
+ else
+ AC_PATH_PROG([_libcurl_config],[curl-config],[],[$PATH])
+ fi
+
+ if test x$_libcurl_config != "x" ; then
+ AC_CACHE_CHECK([for the version of libcurl],
+ [libcurl_cv_lib_curl_version],
+ [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`])
+
+ _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse`
+ _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse`
+
+ if test $_libcurl_wanted -gt 0 ; then
+ AC_CACHE_CHECK([for libcurl >= version $2],
+ [libcurl_cv_lib_version_ok],
+ [
+ if test $_libcurl_version -ge $_libcurl_wanted ; then
+ libcurl_cv_lib_version_ok=yes
+ else
+ libcurl_cv_lib_version_ok=no
+ fi
+ ])
+ fi
+
+ if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then
+ if test x"$LIBCURL_CPPFLAGS" = "x" ; then
+ LIBCURL_CPPFLAGS=`$_libcurl_config --cflags`
+ fi
+ if test x"$LIBCURL" = "x" ; then
+ LIBCURL=`$_libcurl_config --libs`
+
+ # This is so silly, but Apple actually has a bug in their
+ # curl-config script. Fixed in Tiger, but there are still
+ # lots of Panther installs around.
+ case "${host}" in
+ powerpc-apple-darwin7*)
+ LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'`
+ ;;
+ esac
+ fi
+
+ # All curl-config scripts support --feature
+ _libcurl_features=`$_libcurl_config --feature`
+
+ # Is it modern enough to have --protocols? (7.12.4)
+ if test $_libcurl_version -ge 461828 ; then
+ _libcurl_protocols=`$_libcurl_config --protocols`
+ fi
+ else
+ _libcurl_try_link=no
+ fi
+
+ unset _libcurl_wanted
+ fi
+
+ if test $_libcurl_try_link = yes ; then
+
+ # we didn't find curl-config, so let's see if the user-supplied
+ # link line (or failing that, "-lcurl") is enough.
+ LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"}
+
+ AC_CACHE_CHECK([whether libcurl is usable],
+ [libcurl_cv_lib_curl_usable],
+ [
+ _libcurl_save_cppflags=$CPPFLAGS
+ CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
+ _libcurl_save_libs=$LIBS
+ LIBS="$LIBCURL $LIBS"
+
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]],[[
+/* Try and use a few common options to force a failure if we are
+ missing symbols or can't link. */
+int x;
+curl_easy_setopt(NULL,CURLOPT_URL,NULL);
+x=CURL_ERROR_SIZE;
+x=CURLOPT_WRITEFUNCTION;
+x=CURLOPT_WRITEDATA;
+x=CURLOPT_ERRORBUFFER;
+x=CURLOPT_STDERR;
+x=CURLOPT_VERBOSE;
+if (x) ;
+]])],libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no)
+
+ CPPFLAGS=$_libcurl_save_cppflags
+ LIBS=$_libcurl_save_libs
+ unset _libcurl_save_cppflags
+ unset _libcurl_save_libs
+ ])
+
+ if test $libcurl_cv_lib_curl_usable = yes ; then
+
+ # Does curl_free() exist in this version of libcurl?
+ # If not, fake it with free()
+
+ _libcurl_save_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS"
+ _libcurl_save_libs=$LIBS
+ LIBS="$LIBS $LIBCURL"
+
+ AC_CHECK_FUNC(curl_free,,
+ AC_DEFINE(curl_free,free,
+ [Define curl_free() as free() if our version of curl lacks curl_free.]))
+
+ CPPFLAGS=$_libcurl_save_cppflags
+ LIBS=$_libcurl_save_libs
+ unset _libcurl_save_cppflags
+ unset _libcurl_save_libs
+
+ AC_DEFINE(HAVE_LIBCURL,1,
+ [Define to 1 if you have a functional curl library.])
+ AC_SUBST(LIBCURL_CPPFLAGS)
+ AC_SUBST(LIBCURL)
+
+ for _libcurl_feature in $_libcurl_features ; do
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1])
+ eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes
+ done
+
+ if test "x$_libcurl_protocols" = "x" ; then
+
+ # We don't have --protocols, so just assume that all
+ # protocols are available
+ _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT TFTP"
+
+ if test x$libcurl_feature_SSL = xyes ; then
+ _libcurl_protocols="$_libcurl_protocols HTTPS"
+
+ # FTPS wasn't standards-compliant until version
+ # 7.11.0 (0x070b00 == 461568)
+ if test $_libcurl_version -ge 461568; then
+ _libcurl_protocols="$_libcurl_protocols FTPS"
+ fi
+ fi
+
+ # RTSP, IMAP, POP3 and SMTP were added in
+ # 7.20.0 (0x071400 == 463872)
+ if test $_libcurl_version -ge 463872; then
+ _libcurl_protocols="$_libcurl_protocols RTSP IMAP POP3 SMTP"
+ fi
+ fi
+
+ for _libcurl_protocol in $_libcurl_protocols ; do
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1])
+ eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes
+ done
+ else
+ unset LIBCURL
+ unset LIBCURL_CPPFLAGS
+ fi
+ fi
+
+ unset _libcurl_try_link
+ unset _libcurl_version_parse
+ unset _libcurl_config
+ unset _libcurl_feature
+ unset _libcurl_features
+ unset _libcurl_protocol
+ unset _libcurl_protocols
+ unset _libcurl_version
+ unset _libcurl_ldflags
+ fi
+
+ if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then
+ # This is the IF-NO path
+ ifelse([$4],,:,[$4])
+ else
+ # This is the IF-YES path
+ ifelse([$3],,:,[$3])
+ fi
+
+ unset _libcurl_with
+])dnl
diff --git a/src/pplib/autoconf/libidn.m4 b/src/pplib/autoconf/libidn.m4
new file mode 100644
index 0000000..0ad9707
--- /dev/null
+++ b/src/pplib/autoconf/libidn.m4
@@ -0,0 +1,68 @@
+dnl AM_LIBIDN([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AM_LIBIDN],[
+AC_ARG_WITH([libidn],
+ [ --with-libidn[[=PATH]] Prefix where libidn is installed (optional)],
+ [libidn_prefix="$withval"],
+ [libidn_prefix="no"])
+
+am_save_CFLAGS="$CFLAGS"
+am_save_LIBS="$LIBS"
+am_save_LDFLAGS="$LDFLAGS"
+LIBIDN_LIBS="-lidn"
+LIBIDN_CFLAGS=""
+have_libidn="no"
+ if test "$libidn_prefix" != "yes"
+ then
+ if test "$libidn_prefix" != "no"
+ then
+ LIBS="-L$libidn_prefix/lib -lidn $LIBS"
+ CFLAGS="$CFLAGS -I$libidn_prefix/include"
+ LIBIDN_LIBS="-L$libidn_prefix/lib -lidn"
+ LIBIDN_CFLAGS="-I$libidn_prefix/include"
+ else
+ LIBS="-lidn $LIBS"
+ LIBIDN_LIBS="-lidn"
+ fi
+ else
+ LIBS="-lidn $LIBS"
+ LIBIDN_LIBS="-lidn"
+ fi
+ AC_CHECK_HEADER([idna.h], [
+
+ AC_MSG_CHECKING([for idn library and linking])
+ AC_LINK_IFELSE([AC_LANG_SOURCE(
+ [[
+ #include
+ int main()
+ {
+ char *idn=NULL;
+ char *a=NULL;
+ if (IDNA_SUCCESS==idna_to_ascii_8z(idn, &a,0) && a!=NULL) {
+ return 1;
+ }
+ return 0;
+ }
+ ]])],
+ [AC_MSG_RESULT(yes)
+ have_libidn="yes"
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ]
+ )
+ ])
+CFLAGS=$am_save_CFLAGS
+LIBS=$am_save_LIBS
+LDFLAGS=$am_save_LDFLAGS
+
+if test "$have_libidn" = "yes"
+then
+ ifelse([$2], , :, [$2])
+else
+ LIBIDN_LIBS=""
+ LIBIDN_CFLAGS=""
+ ifelse([$3], , :, [$3])
+fi
+
+
+])
diff --git a/src/pplib/autoconf/libidn2.m4 b/src/pplib/autoconf/libidn2.m4
new file mode 100644
index 0000000..f0c5c2f
--- /dev/null
+++ b/src/pplib/autoconf/libidn2.m4
@@ -0,0 +1,91 @@
+dnl AM_LIBIDN([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AM_LIBIDN2],[
+AC_ARG_WITH([libidn2],
+ [ --with-libidn2[[=PATH]] Prefix where libidn2 is installed (optional)],
+ [libidn2_prefix="$withval"],
+ [libidn2_prefix="no"])
+
+am_save_CPPFLAGS="$CPPFLAGS"
+am_save_CFLAGS="$CFLAGS"
+am_save_LIBS="$LIBS"
+am_save_LDFLAGS="$LDFLAGS"
+LIBIDN2_LIBS=""
+LIBIDN2_CFLAGS=""
+have_libidn="no"
+ if test "$libidn2_prefix" != "yes"
+ then
+ if test "$libidn2_prefix" != "no"
+ then
+ LIBS="-L$libidn2_prefix/lib -lidn2 $LIBS"
+ CPPFLAGS="$CPPFLAGS -I$libidn2_prefix/include"
+ CFLAGS="$CFLAGS -I$libidn2_prefix/include"
+ LIBIDN2_LIBS="-L$libidn2_prefix/lib -lidn2"
+ LIBIDN2_CFLAGS="-I$libidn2_prefix/include"
+ else
+ LIBS="-lidn2 $LIBS"
+ LIBIDN2_LIBS="-lidn2"
+ fi
+ else
+ LIBS="-lidn2 $LIBS"
+ LIBIDN2_LIBS="-lidn2"
+ fi
+ AC_CHECK_HEADER([idn2.h], [
+
+ AC_MSG_CHECKING([for idn2 library and linking])
+ AC_LINK_IFELSE([AC_LANG_SOURCE(
+ [[
+ #include
+ int main()
+ {
+ char *idn=NULL;
+ char *a=NULL;
+ if (IDNA_SUCCESS==idn2_to_ascii_8z(idn, &a,0) && a!=NULL) {
+ return 1;
+ }
+ return 0;
+ }
+ ]])],
+ [AC_MSG_RESULT(yes)
+ have_libidn2="yes"
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ]
+ )
+ AC_MSG_CHECKING([for existing IDN2_NO_TR46-flag in idn2 library])
+ AC_LINK_IFELSE([AC_LANG_SOURCE(
+ [[
+ #include
+ int main()
+ {
+ char *idn=NULL;
+ char *a=NULL;
+ if (IDNA_SUCCESS==idn2_to_ascii_8z(idn, &a,IDN2_NO_TR46) && a!=NULL) {
+ return 1;
+ }
+ return 0;
+ }
+ ]])],
+ [AC_MSG_RESULT(yes)
+ have_libidn2_IDN2_NO_TR46="yes"
+ AC_DEFINE(HAVE_LIBIDN2_IDN2_NO_TR46, 1, [ Define if libidn2 has IDN2_NO_TR46 flag. ])
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ]
+ )
+ ])
+CFLAGS=$am_save_CFLAGS
+CPPFLAGS=$am_save_CPPFLAGS
+LIBS=$am_save_LIBS
+LDFLAGS=$am_save_LDFLAGS
+
+if test "$have_libidn2" = "yes"
+then
+ ifelse([$2], , :, [$2])
+else
+ ifelse([$3], , :, [$3])
+fi
+
+
+])
diff --git a/src/pplib/autoconf/libjpeg-turbo.m4 b/src/pplib/autoconf/libjpeg-turbo.m4
new file mode 100644
index 0000000..b85d037
--- /dev/null
+++ b/src/pplib/autoconf/libjpeg-turbo.m4
@@ -0,0 +1,42 @@
+dnl AC_CHECK_LIBJPEGTURBO([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+
+AC_DEFUN([AC_CHECK_LIBJPEGTURBO],[
+AC_MSG_CHECKING(for libjpegturbo)
+
+AC_ARG_WITH([libjpegturbo],
+ [ --with-libjpegturbo[[=PATH]] Prefix where libjpeg-turbo is installed (optional)],
+ [libjpegturbo_prefix="$withval"],
+ [libjpegturbo_prefix=""])
+ if test "$libjpegturbo_prefix" != "no"
+ then
+ AC_MSG_RESULT(yes)
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_CFLAGS="$CFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+ LIBS=""
+ PKG_CHECK_MODULES([TURBOJPEG], [libturbojpeg >= $1],
+ ifelse([$2], , :, [$2])
+ ,
+ AC_SEARCH_LIBS( [tjInitDecompress],[turbojpeg],
+ dnl echo "LIBS=$LIBS"
+ dnl echo "LDFLAGS=$LDFLAGS"
+ dnl echo "CFLAGS=$CFLAGS"
+ dnl echo "CPPFLAGS=$CPPFLAGS"
+
+ TURBOJPEG_LIBS="$LIBS"
+ TURBOJPEG_CFLAGS=""
+ ifelse([$2], , :, [$2])
+ ,
+ ifelse([$3], , :, [$3])
+ :)
+ )
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBS="$am_save_LIBS"
+ LDFLAGS="$am_save_LDFLAGS"
+ CFLAGS="$am_save_CFLAGS"
+ else
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ fi
+])
\ No newline at end of file
diff --git a/src/pplib/autoconf/libmcrypt.m4 b/src/pplib/autoconf/libmcrypt.m4
new file mode 100644
index 0000000..2428966
--- /dev/null
+++ b/src/pplib/autoconf/libmcrypt.m4
@@ -0,0 +1,251 @@
+dnl Autoconf macros for libmcrypt
+dnl $id$
+
+# This script detects libmcrypt version and defines
+# LIBMCRYPT_CFLAGS, LIBMCRYPT_LIBS
+# and LIBMCRYPT24 or LIBMCRYPT22 depending on libmcrypt version
+# found.
+
+# Modified for LIBMCRYPT -- nmav
+# Configure paths for LIBGCRYPT
+# Shamelessly stolen from the one of XDELTA by Owen Taylor
+# Werner Koch 99-12-09
+
+dnl AM_PATH_LIBMCRYPT([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
+dnl Test for libmcrypt, and define LIBMCRYPT_CFLAGS and LIBMCRYPT_LIBS
+dnl
+AC_DEFUN([AM_PATH_LIBMCRYPT],
+[dnl
+dnl Get the cflags and libraries from the libmcrypt-config script
+dnl
+AC_ARG_WITH(libmcrypt-prefix,
+ [ --with-libmcrypt-prefix=PFX Prefix where libmcrypt is installed (optional)],
+ libmcrypt_config_prefix="$withval", libmcrypt_config_prefix="")
+
+ if test x$libmcrypt_config_prefix != x ; then
+ libmcrypt_config_args="$libmcrypt_config_args --prefix=$libmcrypt_config_prefix"
+ if test x${LIBMCRYPT_CONFIG+set} != xset ; then
+ LIBMCRYPT_CONFIG=$libmcrypt_config_prefix/bin/libmcrypt-config
+ fi
+ fi
+
+ AC_PATH_PROG(LIBMCRYPT_CONFIG, libmcrypt-config, no)
+ min_libmcrypt_version=ifelse([$1], ,2.4.0,$1)
+ AC_MSG_CHECKING(for libmcrypt - version >= $min_libmcrypt_version)
+ no_libmcrypt=""
+ if test "$LIBMCRYPT_CONFIG" = "no" ; then
+dnl libmcrypt-config was not found (pre 2.4.11 versions)
+dnl Try to detect libmcrypt version
+ AC_TRY_RUN([
+#include
+#include
+#include
+#include
+
+int
+main ()
+{
+#if MCRYPT_API_VERSION <= 19991015
+/* version 2.2 */
+ return 0;
+#else
+/* version 2.4 */
+ return 1;
+#endif /* 19991015 */
+}
+], libmcrypt_config_version="2.2.0"
+ if test x$libmcrypt_config_prefix != x ; then
+ TTLIBS="-L${libmcrypt_config_prefix}/libs"
+ TTINCLUDE="-I${libmcrypt_config_prefix}/include"
+ fi
+ LIBMCRYPT_CFLAGS="${TTINCLUDE}"
+ LIBMCRYPT_LIBS="${TTLIBS} -lmcrypt"
+ AC_DEFINE(LIBMCRYPT22, 1, [have libmcrypt 2.2])
+
+, libmcrypt_config_version="2.4.0"
+ if test x$libmcrypt_config_prefix != x ; then
+ TTLIBS="-L${libmcrypt_config_prefix}/libs"
+ TTINCLUDE="-I${libmcrypt_config_prefix}/include"
+ fi
+ LIBMCRYPT_CFLAGS="${TTINCLUDE}"
+ LIBMCRYPT_LIBS="${TTLIBS} -lmcrypt -lltdl ${LIBADD_DL}"
+ AC_DEFINE(LIBMCRYPT24, 1, [have libmcrypt 2.4]))
+ else
+dnl libmcrypt-config was found
+ LIBMCRYPT_CFLAGS=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --cflags`
+ LIBMCRYPT_LIBS=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --libs`
+ libmcrypt_config_version=`$LIBMCRYPT_CONFIG $libmcrypt_config_args --version`
+ AC_DEFINE(LIBMCRYPT24, 1, [have libmcrypt 2.4])
+ fi
+
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $LIBMCRYPT_CFLAGS"
+ LIBS="$LIBS $LIBMCRYPT_LIBS"
+
+dnl
+dnl Now check if the installed libmcrypt is sufficiently new. Also sanity
+dnl checks the results of libmcrypt-config to some extent
+dnl
+ rm -f conf.libmcrypttest
+ AC_TRY_RUN([
+#include
+#include
+#include
+#include
+
+#define TWO "2.2"
+
+int
+main ()
+{
+#if MCRYPT_API_VERSION <= 20010201
+
+#if MCRYPT_API_VERSION <= 19991015
+/* version 2.2 */
+ int x = mcrypt_get_key_size(MCRYPT_TWOFISH_128);
+ system ("touch conf.libmcrypttest");
+
+ if( strncmp( TWO, "$min_libmcrypt_version", strlen(TWO))) {
+ printf("\n*** Requested libmcrypt %s, but LIBMCRYPT (%s)\n",
+ "$min_libmcrypt_version", TWO );
+ printf("*** was found!\n");
+ return 1;
+ }
+ return 0;
+#else
+/* version 2.4 before 11 */
+ MCRYPT td = mcrypt_module_open("twofish", NULL, "cbc", NULL);
+ system ("touch conf.libmcrypttest");
+ mcrypt_module_close(td);
+
+ return 0;
+#endif /* 19991015 */
+
+#else
+
+ system ("touch conf.libmcrypttest");
+
+ if( strcmp( mcrypt_check_version(NULL), "$libmcrypt_config_version" ) )
+ {
+ printf("\n*** 'libmcrypt-config --version' returned %s, but LIBMCRYPT (%s)\n",
+ "$libmcrypt_config_version", mcrypt_check_version(NULL) );
+ printf("*** was found! If libmcrypt-config was correct, then it is best\n");
+ printf("*** to remove the old version of LIBMCRYPT. You may also be able to fix the error\n");
+ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
+ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
+ printf("*** required on your system.\n");
+ printf("*** If libmcrypt-config was wrong, set the environment variable LIBMCRYPT_CONFIG\n");
+ printf("*** to point to the correct copy of libmcrypt-config, and remove the file config.cache\n");
+ printf("*** before re-running configure\n");
+ }
+ else if ( strcmp(mcrypt_check_version(NULL), LIBMCRYPT_VERSION ) )
+ {
+ printf("\n*** LIBMCRYPT header file (version %s) does not match\n", LIBMCRYPT_VERSION);
+ printf("*** library (version %s)\n", mcrypt_check_version(NULL) );
+ }
+ else
+ {
+ if ( mcrypt_check_version( "$min_libmcrypt_version" ) )
+ {
+ return 0;
+ }
+ else
+ {
+ printf("no\n*** An old version of LIBMCRYPT (%s) was found.\n",
+ mcrypt_check_version(NULL) );
+ printf("*** You need a version of LIBMCRYPT newer than %s. The latest version of\n",
+ "$min_libmcrypt_version" );
+ printf("*** LIBMCRYPT is always available from ftp://mcrypt.hellug.gr/pub/mcrypt.\n");
+ printf("*** \n");
+ printf("*** If you have already installed a sufficiently new version, this error\n");
+ printf("*** probably means that the wrong copy of the libmcrypt-config shell script is\n");
+ printf("*** being found. The easiest way to fix this is to remove the old version\n");
+ printf("*** of LIBMCRYPT, but you can also set the LIBMCRYPT_CONFIG environment to point to the\n");
+ printf("*** correct copy of libmcrypt-config. (In this case, you will have to\n");
+ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
+ printf("*** so that the correct libraries are found at run-time))\n");
+ }
+ }
+ return 1;
+
+#endif /* 20010201 */
+
+}
+],, no_libmcrypt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+
+ if test "$libmcrypt_config_prefix" = "no" ; then
+ no_libmcrypt="yes"
+ fi
+
+ if test "x$no_libmcrypt" = x ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ else
+ if test -f conf.libmcrypttest ; then
+ :
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ if test -f conf.libmcrypttest ; then
+ :
+ else
+ echo "*** Could not run libmcrypt test program, checking why..."
+ CFLAGS="$CFLAGS $LIBMCRYPT_CFLAGS"
+ LIBS="$LIBS $LIBMCRYPT_LIBS"
+ AC_TRY_LINK([
+#include
+#include
+#include
+#include
+], [
+#if MCRYPT_API_VERSION <= 20010201
+
+#if MCRYPT_API_VERSION <= 19991015
+/* version 2.2 */
+ int x = mcrypt_get_key_size(MCRYPT_TWOFISH_128);
+ return 0;
+#else
+/* version 2.4 before 11 */
+ MCRYPT td = mcrypt_module_open("twofish", NULL, "cbc", NULL);
+ mcrypt_module_close(td);
+ return 0;
+#endif /* 19991015 */
+#else
+
+return !!mcrypt_check_version(NULL);
+
+#endif /* 20010201 */
+
+],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding LIBMCRYPT or finding the wrong"
+ echo "*** version of LIBMCRYPT. If it is not finding LIBMCRYPT, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
+ echo "***" ],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means LIBMCRYPT was incorrectly installed"
+ echo "*** or that you have moved LIBMCRYPT since it was installed. In the latter case, you"
+ echo "*** may want to edit the libmcrypt-config script: $LIBMCRYPT_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+
+ LIBMCRYPT_CFLAGS=""
+ LIBMCRYPT_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ rm -f conf.libmcrypttest
+ AC_SUBST(LIBMCRYPT_CFLAGS)
+ AC_SUBST(LIBMCRYPT_LIBS)
+])
+
+dnl *-*wedit:notab*-* Please keep this as the last line.
diff --git a/src/pplib/autoconf/libmicrohttpd.m4 b/src/pplib/autoconf/libmicrohttpd.m4
new file mode 100644
index 0000000..115d574
--- /dev/null
+++ b/src/pplib/autoconf/libmicrohttpd.m4
@@ -0,0 +1,53 @@
+dnl AM_LIBMICROHTTPD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AM_LIBMICROHTTPD],[dnl
+AC_MSG_CHECKING([for libmicrohttpd library and headers])
+AC_ARG_WITH([libmicrohttpd],
+ [ --with-libmicrohttpd[[=PATH]] Prefix where libmicrohttpd is installed (optional)],
+ [libmicrohttpd_prefix="$withval"],
+ [libmicrohttpd_prefix="no"])
+
+
+if test "$libmicrohttpd_prefix" != "no"
+then
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+ LIBS="$LIBS -lmicrohttpd"
+ LIBMICROHTTPD_LIBS="-lmicrohttpd"
+ LIBMICROHTTPD_CFLAGS=""
+
+ if test "$libmicrohttpd_prefix" != "yes"
+ then
+ LIBS="-L$libmicrohttpd_prefix/lib -lmicrohttpd"
+ CPPFLAGS="-I$libmicrohttpd_prefix/include"
+ LIBMICROHTTPD_LIBS="-L$libmicrohttpd_prefix/lib -lmicrohttpd"
+ LIBMICROHTTPD_CFLAGS="-I$libmicrohttpd_prefix/include"
+ fi
+ AC_LINK_IFELSE( [AC_LANG_SOURCE([[
+ #include
+ int main()
+ {
+ struct MHD_Daemon* daemon;
+ MHD_stop_daemon(daemon);
+ }
+ ]]) ],
+ [AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ ]
+ )
+
+ CPPFLAGS=$am_save_CPPFLAGS
+ LIBS=$am_save_LIBS
+ LDFLAGS=$am_save_LDFLAGS
+else
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+fi
+
+
+])
diff --git a/src/pplib/autoconf/libtiff.m4 b/src/pplib/autoconf/libtiff.m4
new file mode 100644
index 0000000..dbdec0c
--- /dev/null
+++ b/src/pplib/autoconf/libtiff.m4
@@ -0,0 +1,59 @@
+dnl AC_CHECK_LIBTIFF([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AC_CHECK_LIBTIFF],[
+AC_MSG_CHECKING(for libtiff)
+
+AC_ARG_WITH([libtiff],
+ [ --with-libtiff[[=PATH]] Prefix where libtiff is installed (optional)],
+ [libtiff_prefix="$withval"],
+ [libtiff_prefix="no"])
+
+ if test "$libtiff_prefix" != "no"
+ then
+ if test "$libtiff_prefix" != "yes"
+ then
+ intLIBTIFF_LIBS="-L $libtiff_prefix/lib -ltiff"
+ intLIBTIFF_CFLAGS="-I $libtiff_prefix/include"
+ else
+ intLIBTIFF_LIBS="-ltiff"
+ intLIBTIFF_CFLAGS=""
+ fi
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+ am_save_CFLAGS="$CFLAGS"
+
+ AC_CHECK_LIB(lzma,lzma_code,
+ intLIBTIFF_LIBS="$intLIBTIFF_LIBS -llzma"
+ AC_MSG_RESULT(yes)
+ ,
+ AC_MSG_RESULT(no)
+ )
+
+ LIBS="$LIBS $intLIBTIFF_LIBS $JPEG_LIBS -lz"
+ CFLAGS="$CFLAGS $intLIBTIFF_CFLAGS $JPEG_CFLAGS"
+
+ AC_CHECK_HEADERS([tiffio.h],
+ AC_CHECK_LIB(tiff,TIFFClientOpen,
+ TIFF_LIBS=$intLIBTIFF_LIBS
+ TIFF_CFLAGS=$intLIBTIFF_CFLAGS
+ AC_MSG_RESULT(yes)
+ ifelse([$2], , :, [$2])
+ ,
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ :)
+ ,
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ )
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBS="$am_save_LIBS"
+ LDFLAGS="$am_save_LDFLAGS"
+ CFLAGS="$am_save_CFLAGS"
+ else
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ fi
+])
+
diff --git a/src/pplib/autoconf/missing b/src/pplib/autoconf/missing
new file mode 100755
index 0000000..cdea514
--- /dev/null
+++ b/src/pplib/autoconf/missing
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2012-06-26.16; # UTC
+
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard , 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+fi
+
+case $1 in
+
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
+
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to ."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'automa4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/pplib/autoconf/mpg123.m4 b/src/pplib/autoconf/mpg123.m4
new file mode 100644
index 0000000..f8a3361
--- /dev/null
+++ b/src/pplib/autoconf/mpg123.m4
@@ -0,0 +1,49 @@
+dnl AC_CHECK_LIBJPEG([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+AC_DEFUN([AC_CHECK_LIBMPG123],[
+
+AC_ARG_WITH([mpg123],
+ [ --with-mpg123[[=PATH]] Prefix where libmpg123 is installed (optional)],
+ [mpg123_prefix="$withval"],
+ [mpg123_prefix="no"])
+
+ if test "$mpg123_prefix" != "no"
+ then
+ if test "$mpg123_prefix" != "yes"
+ then
+ intMPG123_LIBS="-L $mpg123_prefix/lib -lmpg123"
+ intMPG123_CFLAGS="-I $mpg123_prefix/include"
+ else
+ intMPG123_LIBS="-lmpg123"
+ intMPG123_CFLAGS=""
+ fi
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+ am_save_CFLAGS="$CFLAGS"
+
+ LIBS="$LIBS $intMPG123_LIBS"
+ CFLAGS="$CFLAGS $intMPG123_CFLAGS"
+ AC_CHECK_HEADERS([mpg123.h],
+
+ AC_CHECK_LIB(mpg123,mpg123_init,
+ MPG123_LIBS=$intMPG123_LIBS
+ MPG123_CFLAGS=$intMPG123_CFLAGS
+
+ ifelse([$2], , :, [$2])
+ ,
+ ifelse([$3], , :, [$3])
+ :)
+ ,
+ ifelse([$3], , :, [$3])
+ )
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBS="$am_save_LIBS"
+ LDFLAGS="$am_save_LDFLAGS"
+ CFLAGS="$am_save_CFLAGS"
+ else
+ AC_MSG_RESULT(no)
+ ifelse([$3], , :, [$3])
+ fi
+])
+
diff --git a/src/pplib/autoconf/nasm.m4 b/src/pplib/autoconf/nasm.m4
new file mode 100644
index 0000000..b066d24
--- /dev/null
+++ b/src/pplib/autoconf/nasm.m4
@@ -0,0 +1,61 @@
+dnl AC_CHECK_NASM([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+
+AC_DEFUN([AC_CHECK_NASM],[
+
+AC_ARG_WITH([nasm],
+ [ --with-nasm[[=PATH]] Prefix where nasm is installed (optional)],
+ [nasm_prefix="$withval"],
+ [nasm_prefix="yes"])
+
+if test "$nasm_prefix" != "no"
+then
+ save_path=$PATH
+ if test -n "$nasm_prefix"
+ then
+ if test "$nasm_prefix" != "yes"
+ then
+ PATH=$nasm_prefix
+ export PATH
+ fi
+ fi
+ AC_PATH_PROG(nasm,nasm)
+ PATH=$save_path
+
+ echo "nasm=$nasm"
+ if test -n "$nasm" -a -x "$nasm"
+ then
+ NASM=${nasm}
+ AC_SUBST(NASM)
+ NASMDEBUGFLAGS="-g"
+ case `uname -m`-`uname -s` in
+ win32*)
+ NASMFLAGS="-f win32"
+ ;;
+ win64*|x86_64-MSYS*)
+ NASMFLAGS="-f win64"
+ ;;
+ x86_64*|amd64*)
+ NASMFLAGS="-f elf64"
+ ;;
+ *)
+ NASMFLAGS="-f elf32"
+ ;;
+ esac
+ case `uname -s` in
+ MINGW32*)
+ NASMFLAGS="-f win32"
+ NASMDEBUGFLAGS="-g"
+ ;;
+ MINGW64*)
+ NASMFLAGS="-f win64"
+ NASMDEBUGFLAGS="-g"
+ ;;
+ esac
+
+ AC_SUBST(NASMFLAGS)
+ AC_SUBST(NASMDEBUGFLAGS)
+ ifelse([$2], , :, [$2])
+ fi
+fi
+])
+
diff --git a/src/pplib/autoconf/ogg.m4 b/src/pplib/autoconf/ogg.m4
new file mode 100644
index 0000000..1d3fb8b
--- /dev/null
+++ b/src/pplib/autoconf/ogg.m4
@@ -0,0 +1,116 @@
+# Configure paths for libogg
+# Jack Moffitt 10-21-2000
+# Shamelessly stolen from Owen Taylor and Manish Singh
+
+dnl XIPH_PATH_OGG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl Test for libogg, and define OGG_CFLAGS and OGG_LIBS
+dnl
+AC_DEFUN([XIPH_PATH_OGG],
+[dnl
+dnl Get the cflags and libraries
+dnl
+AC_ARG_WITH(ogg,AC_HELP_STRING([--with-ogg=PFX],[Prefix where libogg is installed (optional)]), ogg_prefix="$withval", ogg_prefix="")
+AC_ARG_WITH(ogg-libraries,AC_HELP_STRING([--with-ogg-libraries=DIR],[Directory where libogg library is installed (optional)]), ogg_libraries="$withval", ogg_libraries="")
+AC_ARG_WITH(ogg-includes,AC_HELP_STRING([--with-ogg-includes=DIR],[Directory where libogg header files are installed (optional)]), ogg_includes="$withval", ogg_includes="")
+AC_ARG_ENABLE(oggtest,AC_HELP_STRING([--disable-oggtest],[Do not try to compile and run a test Ogg program]),, enable_oggtest=yes)
+
+ if test "x$ogg_libraries" != "x" ; then
+ OGG_LIBS="-L$ogg_libraries"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_LIBS=""
+ elif test "x$ogg_prefix" != "x" ; then
+ OGG_LIBS="-L$ogg_prefix/lib"
+ elif test "x$prefix" != "xNONE" ; then
+ OGG_LIBS="-L$prefix/lib"
+ fi
+
+ if test "x$ogg_prefix" != "xno" ; then
+ OGG_LIBS="$OGG_LIBS -logg"
+ fi
+
+ if test "x$ogg_includes" != "x" ; then
+ OGG_CFLAGS="-I$ogg_includes"
+ elif test "x$ogg_prefix" = "xno" || test "x$ogg_prefix" = "xyes" ; then
+ OGG_CFLAGS=""
+ elif test "x$ogg_prefix" != "x" ; then
+ OGG_CFLAGS="-I$ogg_prefix/include"
+ elif test "x$prefix" != "xNONE"; then
+ OGG_CFLAGS="-I$prefix/include"
+ fi
+
+ AC_MSG_CHECKING(for Ogg)
+ if test "x$ogg_prefix" = "xno" ; then
+ no_ogg="disabled"
+ enable_oggtest="no"
+ else
+ no_ogg=""
+ fi
+
+
+ if test "x$enable_oggtest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $OGG_CFLAGS"
+ LIBS="$LIBS $OGG_LIBS"
+dnl
+dnl Now check if the installed Ogg is sufficiently new.
+dnl
+ rm -f conf.oggtest
+ AC_TRY_RUN([
+#include
+#include
+#include
+#include
+
+int main ()
+{
+ system("touch conf.oggtest");
+ return 0;
+}
+
+],, no_ogg=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+
+ if test "x$no_ogg" = "xdisabled" ; then
+ AC_MSG_RESULT(no)
+ ifelse([$2], , :, [$2])
+ elif test "x$no_ogg" = "x" ; then
+ AC_MSG_RESULT(yes)
+ ifelse([$1], , :, [$1])
+ else
+ AC_MSG_RESULT(no)
+ if test -f conf.oggtest ; then
+ :
+ else
+ echo "*** Could not run Ogg test program, checking why..."
+ CFLAGS="$CFLAGS $OGG_CFLAGS"
+ LIBS="$LIBS $OGG_LIBS"
+ AC_TRY_LINK([
+#include
+#include
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding Ogg or finding the wrong"
+ echo "*** version of Ogg. If it is not finding Ogg, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means Ogg was incorrectly installed"
+ echo "*** or that you have moved Ogg since it was installed." ])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ OGG_CFLAGS=""
+ OGG_LIBS=""
+ ifelse([$2], , :, [$2])
+ fi
+ AC_SUBST(OGG_CFLAGS)
+ AC_SUBST(OGG_LIBS)
+ rm -f conf.oggtest
+])
diff --git a/src/pplib/autoconf/png.m4 b/src/pplib/autoconf/png.m4
new file mode 100644
index 0000000..f40c4b9
--- /dev/null
+++ b/src/pplib/autoconf/png.m4
@@ -0,0 +1,81 @@
+dnl AC_CHECK_LIBPNG([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+
+AC_DEFUN([AC_CHECK_LIBPNG],[
+AC_MSG_CHECKING(if we should use libpng)
+
+AC_ARG_WITH([libpng],
+ [ --with-libpng[[=PATH]] Prefix where libpng is installed (optional)],
+ [libpng_prefix="$withval"],
+ [libpng_prefix="auto"])
+
+ if test "$libpng_prefix" != "no"
+ then
+ AC_MSG_RESULT(yes)
+ am_save_CFLAGS="$CFLAGS"
+ am_save_CPPFLAGS="$CPPFLAGS"
+ am_save_LIBS="$LIBS"
+ am_save_LDFLAGS="$LDFLAGS"
+ if test "$libpng_prefix" = "yes" -o "$libpng_prefix" = "auto"
+ then
+ AC_PATH_PROG(libpngconfig,libpng-config)
+ PKG_CHECK_MODULES([PNG], [libpng],
+ have_libpng="yes"
+ LIBS="$PNG_LIBS"
+ CFLAGS="$PNG_CFLAGS"
+ CPPFLAGS="$PNG_CFLAGS"
+ ,
+ have_libpng="no"
+ PNG_LIBS="-lpng -lz -lm"
+
+
+ if test [ -x "$libpngconfig" ]
+ then
+ have_libpng="yes"
+ PNG_LIBS=`$libpngconfig --ldflags`
+ PNG_LIBS="$PNG_LIBS -lz -lm"
+ PNG_CFLAGS=`$libpngconfig --cflags`
+ LIBS="$PNG_LIBS"
+ CFLAGS="$PNG_CFLAGS"
+ CPPFLAGS="$PNG_CFLAGS"
+ fi
+
+ )
+ else
+ LIBS="-L$libpng_prefix/lib"
+ CFLAGS="-I$libpng_prefix/include"
+ CPPFLAGS="-I$libpng_prefix/include"
+ LDFLAGS="-L$libpng_prefix/lib"
+ PNG_LIBS="-L$libpng_prefix/lib -lpng -lz -lm"
+ PNG_CFLAGS="-I$libpng_prefix/include"
+ fi
+
+ AC_CHECK_LIB(png,png_sig_cmp,
+ have_libpng="yes"
+ ,
+ ,
+ -lz -lm
+ )
+ AC_CHECK_HEADERS([png.h],,have_libpng="no")
+
+ LIBS="$am_save_LIBS"
+ LDFLAGS="$am_save_LDFLAGS"
+ CFLAGS="$am_save_CFLAGS"
+ CPPFLAGS="$am_save_CPPFLAGS"
+ else
+ AC_MSG_RESULT(no)
+ fi
+ if test $have_libpng = "yes"
+ then
+ dnl echo "PNG_LIBS=$PNG_LIBS"
+ dnl echo "PNG_CFLAGS=$PNG_CFLAGS"
+ ifelse([$2], , :, [$2])
+ else
+ PNG_LIBS=""
+ PNG_CFLAGS=""
+ ifelse([$3], , :, [$3])
+ fi
+
+])
+
+
+
diff --git a/src/pplib/autoconf/sdl2.m4 b/src/pplib/autoconf/sdl2.m4
new file mode 100644
index 0000000..a058e29
--- /dev/null
+++ b/src/pplib/autoconf/sdl2.m4
@@ -0,0 +1,238 @@
+# Configure paths for SDL
+# Sam Lantinga 9/21/99
+# stolen from Manish Singh
+# stolen back from Frank Belew
+# stolen from Manish Singh
+# Shamelessly stolen from Owen Taylor
+#
+# Changelog:
+# * also look for SDL2.framework under Mac OS X
+
+# serial 1
+
+dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for SDL, and define SDL2_CFLAGS and SDL2_LIBS
+dnl
+AC_DEFUN([AM_PATH_SDL2],
+[dnl
+dnl Get the cflags and libraries from the sdl2-config script
+dnl
+AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
+ sdl_prefix="$withval", sdl_prefix="")
+AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
+ sdl_exec_prefix="$withval", sdl_exec_prefix="")
+AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
+ , enable_sdltest=yes)
+AC_ARG_ENABLE(sdlframework, [ --disable-sdlframework Do not search for SDL2.framework],
+ , search_sdl_framework=yes)
+
+AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework])
+
+ min_sdl_version=ifelse([$1], ,2.0.0,$1)
+
+ if test "x$sdl_prefix$sdl_exec_prefix" = x ; then
+ PKG_CHECK_MODULES([SDL2], [sdl2 >= $min_sdl_version],
+ [sdl_pc=yes],
+ [sdl_pc=no])
+ else
+ sdl_pc=no
+ if test x$sdl_exec_prefix != x ; then
+ sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix"
+ if test x${SDL2_CONFIG+set} != xset ; then
+ SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config
+ fi
+ fi
+ if test x$sdl_prefix != x ; then
+ sdl_config_args="$sdl_config_args --prefix=$sdl_prefix"
+ if test x${SDL2_CONFIG+set} != xset ; then
+ SDL2_CONFIG=$sdl_prefix/bin/sdl2-config
+ fi
+ fi
+ fi
+
+ if test "x$sdl_pc" = xyes ; then
+ no_sdl=""
+ SDL2_CONFIG="pkg-config sdl2"
+ else
+ as_save_PATH="$PATH"
+ if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then
+ PATH="$prefix/bin:$prefix/usr/bin:$PATH"
+ fi
+ AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH])
+ PATH="$as_save_PATH"
+ no_sdl=""
+
+ if test "$SDL2_CONFIG" = "no" -a "x$search_sdl_framework" = "xyes"; then
+ AC_MSG_CHECKING(for SDL2.framework)
+ if test "x$SDL2_FRAMEWORK" != x; then
+ sdl_framework=$SDL2_FRAMEWORK
+ else
+ for d in / ~/ /System/; do
+ if test -d "$dLibrary/Frameworks/SDL2.framework"; then
+ sdl_framework="$dLibrary/Frameworks/SDL2.framework"
+ fi
+ done
+ fi
+
+ if test -d $sdl_framework; then
+ AC_MSG_RESULT($sdl_framework)
+ sdl_framework_dir=`dirname $sdl_framework`
+ SDL2_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include"
+ SDL2_LIBS="-F$sdl_framework_dir -Wl,-framework,SDL2"
+ else
+ no_sdl=yes
+ fi
+ fi
+
+ if test "$SDL2_CONFIG" != "no"; then
+ if test "x$sdl_pc" = "xno"; then
+ AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
+ SDL2_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags`
+ SDL2_LIBS=`$SDL2_CONFIG $sdl_config_args --libs`
+ fi
+
+ sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_sdltest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $SDL2_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $SDL2_CFLAGS"
+ LIBS="$LIBS $SDL2_LIBS"
+dnl
+dnl Now check if the installed SDL is sufficiently new. (Also sanity
+dnl checks the results of sdl2-config to some extent
+dnl
+ rm -f conf.sdltest
+ AC_TRY_RUN([
+#include
+#include
+#include
+#include "SDL.h"
+
+char*
+my_strdup (char *str)
+{
+ char *new_str;
+
+ if (str)
+ {
+ new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
+ strcpy (new_str, str);
+ }
+ else
+ new_str = NULL;
+
+ return new_str;
+}
+
+int main (int argc, char *argv[])
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ /* This hangs on some systems (?)
+ system ("touch conf.sdltest");
+ */
+ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = my_strdup("$min_sdl_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
+ printf("%s, bad version string\n", "$min_sdl_version");
+ exit(1);
+ }
+
+ if (($sdl_major_version > major) ||
+ (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
+ (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
+ printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro);
+ printf("*** best to upgrade to the required version.\n");
+ printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n");
+ printf("*** to point to the correct copy of sdl2-config, and remove the file\n");
+ printf("*** config.cache before re-running configure\n");
+ return 1;
+ }
+}
+
+],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ LIBS="$ac_save_LIBS"
+
+ fi
+ if test "x$sdl_pc" = "xno"; then
+ if test "x$no_sdl" = "xyes"; then
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+ fi
+ fi
+ fi
+ fi
+ if test "$SDL2_CONFIG" = "no"; then
+ no_sdl="yes"
+ fi
+
+ if test "x$no_sdl" = x ; then
+ ifelse([$2], , :, [$2])
+ else
+ if test "$SDL2_CONFIG" = "no" ; then
+ echo "*** The sdl2-config script installed by SDL could not be found"
+ echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
+ echo "*** your path, or set the SDL2_CONFIG environment variable to the"
+ echo "*** full path to sdl2-config."
+ else
+ if test -f conf.sdltest ; then
+ :
+ else
+ echo "*** Could not run SDL test program, checking why..."
+ CFLAGS="$CFLAGS $SDL2_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $SDL2_CFLAGS"
+ LIBS="$LIBS $SDL2_LIBS"
+ AC_TRY_LINK([
+#include
+#include "SDL.h"
+
+int main(int argc, char *argv[])
+{ return 0; }
+#undef main
+#define main K_and_R_C_main
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding SDL or finding the wrong"
+ echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means SDL was incorrectly installed"
+ echo "*** or that you have moved SDL since it was installed. In the latter case, you"
+ echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ])
+ CFLAGS="$ac_save_CFLAGS"
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ SDL2_CFLAGS=""
+ SDL2_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(SDL2_CFLAGS)
+ AC_SUBST(SDL2_LIBS)
+ rm -f conf.sdltest
+])
diff --git a/src/pplib/autoconf/shout.m4 b/src/pplib/autoconf/shout.m4
new file mode 100644
index 0000000..c1265a0
--- /dev/null
+++ b/src/pplib/autoconf/shout.m4
@@ -0,0 +1,79 @@
+dnl XIPH_PATH_SHOUT
+dnl Jack Moffitt 08-06-2001
+dnl Rewritten for libshout 2
+dnl Brendan Cully 20030612
+dnl
+dnl $Id$
+
+# XIPH_PATH_SHOUT([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+# Test for libshout, and define SHOUT_CPPFLAGS SHOUT_CFLAGS SHOUT_LIBS, and
+# SHOUT_THREADSAFE
+AC_DEFUN([XIPH_PATH_SHOUT],
+[dnl
+xt_have_shout="no"
+SHOUT_THREADSAFE="no"
+SHOUT_CPPFLAGS=""
+SHOUT_CFLAGS=""
+SHOUT_LIBS=""
+
+# NB: PKG_CHECK_MODULES exits if pkg-config is unavailable on the target
+# system, so we can't use it.
+
+# seed pkg-config with the default libshout location
+PKG_CONFIG_PATH=${PKG_CONFIG_PATH:-/usr/local/lib/pkgconfig}
+export PKG_CONFIG_PATH
+
+# Step 1: Use pkg-config if available
+AC_PATH_PROG([PKGCONFIG], [pkg-config], [no])
+if test "$PKGCONFIG" != "no" && `$PKGCONFIG --exists shout`
+then
+ SHOUT_CFLAGS=`$PKGCONFIG --variable=cflags_only shout`
+ SHOUT_CPPFLAGS=`$PKGCONFIG --variable=cppflags shout`
+ SHOUT_LIBS=`$PKGCONFIG --libs shout`
+ xt_have_shout="maybe"
+else
+ if test "$PKGCONFIG" != "no"
+ then
+ AC_MSG_NOTICE([$PKGCONFIG couldn't find libshout. Try adjusting PKG_CONFIG_PATH.])
+ fi
+ # pkg-config unavailable, try shout-config
+ AC_PATH_PROG([SHOUTCONFIG], [shout-config], [no])
+ if test "$SHOUTCONFIG" != "no" && test `$SHOUTCONFIG --package` = "libshout"
+ then
+ SHOUT_CPPFLAGS=`$SHOUTCONFIG --cppflags`
+ SHOUT_CFLAGS=`$SHOUTCONFIG --cflags-only`
+ SHOUT_LIBS=`$SHOUTCONFIG --libs`
+ xt_have_shout="maybe"
+ fi
+fi
+
+# Now try actually using libshout
+if test "$xt_have_shout" != "no"
+then
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CPPFLAGS="$CPPFLAGS $SHOUT_CPPFLAGS"
+ CFLAGS="$CFLAGS $SHOUT_CFLAGS"
+ LIBS="$SHOUT_LIBS $LIBS"
+ AC_CHECK_HEADERS([shout/shout.h], [
+ AC_CHECK_FUNC([shout_new], [
+ ifelse([$1], , :, [$1])
+ xt_have_shout="yes"
+ ])
+ AC_EGREP_CPP([yes], [#include
+#if SHOUT_THREADSAFE
+yes
+#endif
+], [SHOUT_THREADSAFE="yes"])
+ ])
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+fi
+
+if test "$xt_have_shout" != "yes"
+then
+ ifelse([$2], , :, [$2])
+fi
+])dnl XIPH_PATH_SHOUT
diff --git a/src/pplib/build_binary.sh b/src/pplib/build_binary.sh
new file mode 100755
index 0000000..1196dc1
--- /dev/null
+++ b/src/pplib/build_binary.sh
@@ -0,0 +1,533 @@
+#!/bin/sh
+#
+###############################################################################
+# This file is part of "Patrick's Programming Library", Version 7 (PPL7).
+# Web: http://www.pfp.de/ppl/
+#
+# $Author$
+# $Revision$
+# $Date$
+# $Id$
+#
+###############################################################################
+#
+# Copyright (c) 2013, Patrick Fedick
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###############################################################################
+
+
+MYPWD=`pwd`
+WORK=$MYPWD/tmp
+ROOT=$MYPWD/tmp/build
+VERSION="7.0.0"
+NAME="PPLib"
+HOMEPAGE="http://www.pfp.de/ppl"
+MAINTAINER="Patrick Fedick "
+DESCRIPTION="C++ programming library"
+COMMENT="C++ programming library"
+DISTFILES=$MYPWD/distfiles
+MAKE=make
+
+if [ -f /etc/lsb-release ] ; then
+ . /etc/lsb-release
+elif [ -f /etc/system-release ] ; then
+ DISTRIB_ID=`cat /etc/system-release | awk '{print $1}'`
+ DISTRIB_RELEASE=`cat /etc/system-release | awk '{print $3}'`
+else
+ DISTRIB_ID=`uname -s`
+ DISTRIB_RELEASE=`uname -r`
+
+ case "$DISTRIB_ID:$DISTRIB_RELEASE" in
+ MINGW32*:1.0.11*)
+ DISTRIB_ID="MINGW32";
+ DISTRIB_RELEASE="1.0.11";
+ TESTGUI=TestGUI.exe
+ ;;
+ esac
+fi
+
+# Wir haben nun unter anderem:
+# DISTRIB_ID=Ubuntu
+# DISTRIB_RELEASE=9.10
+
+echo "Baue $NAME $VERSION für: $DISTRIB_ID, $DISTRIB_RELEASE..."
+echo ""
+rm -rf tmp
+
+
+
+build_sources() {
+mkdir -p tmp/build
+if [ ! -d tmp/build ] ; then
+ echo "Could not create temporary directory tmp/build"
+ exit 1
+fi
+
+cd tmp/build
+#rm -rf *
+mkdir -p include lib bin src
+cd src
+mkdir -p ppl6 libdenictest testgui
+
+echo "Kopiere PPL6 in temporäres Build-Verzeichnis"
+cd $PPL6SOURCE
+if [ $? -ne 0 ] ; then
+ echo "PPL6 not found in $PPL6SOURCE"
+ exit 1
+fi
+
+find *.m4 conf.sh configure Doxyfile *.TXT *.in *.ico VERSION autoconf config docs include resource src tools tests | cpio -pdmv $ROOT/src/ppl6
+
+echo "Kopiere libdenictest in temporäres Build-Verzeichnis"
+cd $LIBDENICTESTSOURCE
+if [ $? -ne 0 ] ; then
+ echo "libdenictest not found in $LIBDENICTESTSOURCEt"
+ exit 1
+fi
+find autoconf docs include src *.m4 configure *.in Doxyfile HISTORY mingw.sh | cpio -pdmv $ROOT/src/libdenictest
+
+
+echo "Kopiere testgui in temporäres Build-Verzeichnis"
+cd $TESTGUISOURCE
+if [ $? -ne 0 ] ; then
+ echo "testgui not found in $TESTGUISOURCE"
+ exit 1
+fi
+find setup.iss forms help include resources src HISTORY *.rc *.qrc | cpio -pdmv $ROOT/src/testgui
+cat TestGUI.pro | sed -e "s/--libs/--archive/" > $ROOT/src/testgui/TestGUI.pro
+
+cd $ROOT
+mkdir -p DENIC-ITStt-TestGUI-$VERSION-src-complete/build
+cd DENIC-ITStt-TestGUI-$VERSION-src-complete/build
+mkdir -p include lib bin src
+cd $ROOT
+
+cp $TESTGUISOURCE/build_binary.sh DENIC-ITStt-TestGUI-$VERSION-src-complete
+
+mv src DENIC-ITStt-TestGUI-$VERSION-src-complete/build
+tar -czf $MYPWD/distfiles/DENIC-ITStt-TestGUI-$VERSION-src-complete.tar.gz --exclude .svn DENIC-ITStt-TestGUI-$VERSION-src-complete
+mv DENIC-ITStt-TestGUI-$VERSION-src-complete/build/src ./
+rm -rf DENIC-ITStt-TestGUI-$VERSION-src-complete
+cp $MYPWD/distfiles/DENIC-ITStt-TestGUI-$VERSION-src-complete.tar.gz $TARGETDIR
+
+}
+
+
+build_binary() {
+
+case "$DISTRIB_ID:$DISTRIB_RELEASE" in
+ MINGW32*:1.0.11*)
+ MAKE=gmake
+ QMAKE=qmake
+ ;;
+esac
+
+
+cd $ROOT/src/ppl6
+
+if [ ! -f Makefile ]
+then
+ echo "Konfiguriere PPL6 fuer $DISTRIB_ID:$DISTRIB_RELEASE..."
+
+ case "$DISTRIB_ID:$DISTRIB_RELEASE" in
+ FreeBSD:*)
+ export CPPFLAGS=-I/usr/local/include
+ export LDLAGS=-L/usr/local/lib
+ ./configure --prefix=$ROOT \
+ --with-pcre=/usr/local --with-libiconv-prefix=/usr/local --with-nasm \
+ --with-libmcrypt-prefix=/usr/local --with-libiconv-prefix=/usr/local \
+ --without-pgsql --without-png --without-lame --without-ft-prefix \
+ --without-libmad --without-lame --without-x --without-mysql --without-sybase \
+ --without-libcurl --with-sdl-prefix=$ROOT
+ ;;
+ Ubuntu:*)
+ ./configure --prefix=$ROOT \
+ --with-pcre=/usr --with-libiconv-prefix --with-nasm \
+ --with-libmcrypt-prefix=/usr \
+ --without-pgsql --without-png --without-lame --without-ft-prefix \
+ --without-libmad --without-lame --without-x --without-mysql --without-sybase \
+ --without-libcurl --with-sdl-prefix=$ROOT
+ ;;
+ Fedora:*)
+ ./configure --prefix=$ROOT \
+ --with-pcre=/usr --with-libiconv-prefix --with-nasm \
+ --with-libmcrypt-prefix=/usr \
+ --without-pgsql --without-png --without-lame --without-ft-prefix \
+ --without-libmad --without-lame --without-x --without-mysql --without-sybase \
+ --without-libcurl --with-sdl-prefix=$ROOT
+ ;;
+ MINGW32*:1.0.11*)
+ export CPPFLAGS="-DCURL_STATICLIB -I/usr/local/include -I/sdk/WindowsSDK/include"
+ export LDLAGS="-DCURL_STATICLIB -L/usr/local/lib -L/sdk/WindowsSDK/lib"
+ export CFLAGS="-DCURL_STATICLIB"
+ ./configure --prefix=$ROOT \
+ --with-pcre=/usr/local --with-bzip2=/usr/local --with-zlib=/usr/local \
+ --with-nasm --with-libiconv-prefix=/usr/local \
+ --without-pgsql --without-png --without-lame --without-ft-prefix \
+ --without-libmad --without-lame --without-x --without-mysql --without-sybase \
+ --without-libcurl --with-sdl-prefix=$ROOT \
+ --with-libmcrypt-prefix=/usr/local \
+ --with-openssl=/mingw --with-libcurl
+ ;;
+ *)
+ ./configure --prefix=$ROOT \
+ --with-pcre=/usr --with-libiconv-prefix --with-nasm \
+ --with-libmcrypt-prefix=/usr \
+ --without-pgsql --without-png --without-lame --without-ft-prefix \
+ --without-libmad --without-lame --without-x --without-mysql --without-sybase \
+ --without-libcurl --with-sdl-prefix=$ROOT
+ ;;
+ esac
+ if [ $? -ne 0 ] ; then
+ exit 1
+ fi
+fi
+PATH=$ROOT/bin:$PATH
+
+$MAKE release
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+$MAKE install
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+
+
+echo -n "ppl6-config liegt in "
+which ppl6-config
+
+
+
+cd $ROOT/src/libdenictest
+
+if [ ! -f Makefile ]
+then
+ echo "Konfiguriere libdenictest..."
+ case "$DISTRIB_ID:$DISTRIB_RELEASE" in
+ MINGW32*:1.0.11*)
+ ./configure --prefix=$ROOT --with-xml-prefix=/usr/local --with-libppl6=$ROOT --with-dchk=/usr/local --with-libidn=/usr/local
+ ;;
+ *)
+ ./configure --prefix=$ROOT --with-libppl6=$ROOT
+ ;;
+ esac
+
+ if [ $? -ne 0 ] ; then
+ exit 1
+ fi
+fi
+$MAKE release
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+$MAKE install
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+
+echo -n "denictest-config liegt in "
+which denictest-config
+
+
+
+cd $ROOT/src/testgui
+
+echo "INCLUDEPATH += $ROOT/include" >> TestGUI.pro
+echo "INCLUDEPATH += c:/MinGW/msys/1.0/$ROOT/include" >> TestGUI.pro
+echo "LIBPATH += $ROOT/lib" >> TestGUI.pro
+echo "LIBPATH += C:/MinGW/msys/1.0/$ROOT/lib" >> TestGUI.pro
+$QMAKE
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+make release
+if [ $? -ne 0 ] ; then
+ exit 1
+fi
+cp release/$TESTGUI $ROOT/bin
+strip $ROOT/bin/$TESTGUI
+
+
+}
+
+ubuntu_write_control() {
+ (
+ echo "Source: $NAME"
+ echo "Section: misc"
+ echo "Priority: optional"
+ echo "Maintainer: $MAINTAINER"
+ echo "Package: $NAME"
+ echo "Version: $VERSION"
+ echo "Homepage: $HOMEPAGE"
+ echo "Architecture: $PLATFORM"
+ echo "Depends: $DEPENDS"
+ echo "Installed-Size: 5500"
+ echo "Description: $DESCRIPTION"
+ echo " $COMMENT"
+ ) > debian/control
+
+}
+
+#################################################################################
+# UBUNTU-Paket bauen
+#################################################################################
+build_ubuntu() {
+ echo "Baue Ubuntu-Paket für $DISTRIB_CODENAME"
+ DISTNAME="$NAME-$VERSION";
+ cd $WORK
+ if [ $? -ne 0 ] ; then
+ echo "Konnte nicht nach $WORK wechseln"
+ exit
+ fi
+ rm -rf debian
+ mkdir -p debian
+ cd debian
+ if [ $? -ne 0 ] ; then
+ echo "Konnte nicht nach $WORK/debian wechseln"
+ exit
+ fi
+ mkdir -p DEBIAN usr/bin usr/share/applications usr/share/pixmaps
+ cp $ROOT/bin/TestGUI usr/bin
+ cp $ROOT/src/testgui/resources/icon64.png usr/share/pixmaps/DENICTestGUI.png
+
+ cd $WORK
+ DEPENDS=""
+ ubuntu_write_control
+ (
+ echo "[Desktop Entry]"
+ echo "Encoding=UTF-8"
+ echo "Name=$NAME"
+ echo "Comment=$COMMENT"
+ echo "Exec=TestGUI"
+ echo "Terminal=false"
+ echo "Type=Application"
+ echo "Categories=Office;"
+ echo "Icon=/usr/share/pixmaps/DENICTestGUI.png"
+ ) > debian/usr/share/applications/$NAME.desktop
+ (
+ echo "testgui ($VERSION) unstable; urgency=low"
+ echo ""
+ echo " * No upstream changes."
+ echo ""
+ echo -n "-- $USERNAME "
+ date
+ echo ""
+ echo "Local variables:"
+ echo "mode: debian-changelog"
+ echo "End:"
+ ) > debian/changelog
+
+ dpkg-shlibdeps debian/usr/bin/TestGUI
+
+ DEPENDS=`grep "shlibs:Depends" debian/substvars | sed -e "s/shlibs:Depends=//"`
+ ubuntu_write_control
+
+ cp debian/control debian/DEBIAN
+ rm debian/control
+ rm debian/changelog
+ rm debian/substvars
+
+ mkdir -p $DISTFILES
+ dpkg -b debian $DISTFILES/$DISTNAME-Ubuntu-$DISTRIB_RELEASE-$PLATFORM.deb
+ if [ $? -ne 0 ] ; then
+ echo "ERROR: Fehler beim Erstellen des Pakets"
+ exit
+ fi
+ cp $DISTFILES/$DISTNAME-Ubuntu-$DISTRIB_RELEASE-$PLATFORM.deb $TARGETDIR
+
+}
+
+
+build_specfile() {
+ cd $WORK
+ (
+ echo "Name: $NAME"
+ echo "Version: $VERSION"
+ echo "Release: 1%{?dist}"
+ echo "Summary: $COMMENT"
+ echo ""
+ echo "Group: Applications/Office"
+ echo "License: GPL"
+ echo "URL: $HOMEPAGE"
+ #echo "Source: $MYPWD/distfiles/DENIC-ITStt-TestGUI-$VERSION-src-complete.tar.gz"
+ echo "Source: DENIC-ITStt-TestGUI-%{version}-src-complete.tar.gz"
+ echo "BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)"
+ echo ""
+ echo "BuildRequires: gcc, gcc-c++, libgcc, bzip2-devel, zlib-devel, libstdc++-devel, openssl-devel, qt-devel, libidn-devel, libmcrypt-devel, glibc-devel, libxml2-devel, pcre-devel"
+ echo "#Requires:"
+ echo ""
+ echo "%description"
+ echo "$COMMENT"
+ echo ""
+ echo "%prep"
+ echo "%setup -q -n %{name}-%{version}-src-complete"
+ echo ""
+ echo "%build"
+ echo "./build_binary.sh"
+ echo ""
+ echo "%install"
+ echo "rm -rf \$RPM_BUILD_ROOT"
+ echo "mkdir -p \$RPM_BUILD_ROOT/usr/bin"
+ echo "mkdir -p \$RPM_BUILD_ROOT/usr/share/icons"
+ echo "mkdir -p \$RPM_BUILD_ROOT/usr/share/applications"
+ echo "cp build/bin/TestGUI \$RPM_BUILD_ROOT/usr/bin"
+ echo "cp build/src/testgui/resources/icon64.png \$RPM_BUILD_ROOT/usr/share/icons/DENICTestGUI.png"
+ echo ""
+ echo "# Desktop menu entry"
+ echo "cat > %{name}.desktop << EOF"
+ echo "[Desktop Entry]"
+ echo "Name=$NAME"
+ echo "Comment=$COMMENT"
+ echo "Exec=$TESTGUI"
+ echo "Icon=DENICTestGUI.png"
+ echo "Terminal=0"
+ echo "Type=Application"
+ echo "EOF"
+ echo ""
+ echo "desktop-file-install --vendor DENIC \\"
+ echo " --dir \$RPM_BUILD_ROOT/usr/share/applications \\"
+ echo " --add-category Application \\"
+ echo " --add-category Office \\"
+ echo "%{name}.desktop"
+ echo ""
+ echo "%clean"
+ echo "rm -rf \$RPM_BUILD_ROOT"
+ echo ""
+ echo "%files"
+ echo "%defattr(-,root,root,-)"
+ echo "/usr/bin/*"
+ echo "/usr/share/icons/*"
+ echo "/usr/share/applications/*"
+ echo "%doc"
+ echo ""
+ echo "%changelog"
+ echo ""
+ ) > testgui.spec
+}
+
+build_srpm() {
+ if [ ! -d ~.rpmmacros ] ; then
+ echo "Bereite RPM-Buildsystem vor..."
+ mkdir -p ~/rpmbuild/{BUILD,RPMS,S{OURCE,PEC,RPM}S}
+ if [ $? -ne 0 ] ; then
+ echo "Konnte RPM-Verzeichnisse nicht anlegen: ~/rpmbuild/{BUILD,RPMS,S{OURCE,PEC,RPM}S}"
+ exit 1
+ fi
+ echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros
+ fi
+ TOPDIR=`cat ~/.rpmmacros | grep "%_topdir" | grep -v grep | awk {'print $2'}`
+ if [ -z "$TOPDIR" ] ; then
+ echo "%_topdir ist nicht in ~/.rpmmacros vorhanden"
+ exit 1;
+ fi
+ if [ ! -d "$TOPDIR" ] ; then
+ echo "%_topdir ist nicht vorhanden: $TOPDIR"
+ exit 1
+ fi
+ if [ ! -d "$TOPDIR/SOURCES" ] ; then
+ echo "%_topdir/SOURCES ist nicht vorhanden: $TOPDIR/SOURCES"
+ exit 1
+ fi
+ cp $MYPWD/distfiles/DENIC-ITStt-TestGUI-$VERSION-src-complete.tar.gz $TOPDIR/SOURCES
+ cd $WORK
+ rpmbuild -bs testgui.spec
+ if [ $? -ne 0 ] ; then
+ echo "Build fehlgeschlagen"
+ exit 1
+ fi
+ cp $TOPDIR/SRPMS/DENIC-ITStt-TestGUI-$VERSION-1.src.rpm $DISTFILES
+ cp $TOPDIR/SRPMS/DENIC-ITStt-TestGUI-$VERSION-1.src.rpm $TARGETDIR
+}
+
+build_mingw32()
+{
+ echo "*******************************************************"
+ echo "Erstelle Windows-Setup Programm"
+ cd $ROOT/src/testgui
+ cat setup.iss | sed -e "s/OutputBaseFilename=.*/OutputBaseFilename=$NAME-$VERSION-Win32Setup/" \
+ | sed -e "s/AppVerName=.*/AppVerName=ITStt-TestGUI $VERSION/" \
+ | sed -e "s/AppVersion=.*/AppVersion=$VERSION/" \
+ | sed -e "s/VersionInfoVersion=.*/VersionInfoVersion=$VERSION/" \
+ | sed -e "s/test2.opsblau.de/www.denic-itstt.de/" \
+ > setup2.iss
+
+ "$INNOSETUP" setup2.iss
+ if [ $? -ne 0 ] ; then
+ echo "Inno-Setup fehlgeschlagen"
+ exit 1
+ fi
+ cd $ROOT/src/testgui
+ cp distfiles/$NAME-$VERSION-Win32Setup.exe ../../../
+ cp distfiles/$NAME-$VERSION-Win32Setup.exe $TARGETDIR
+
+}
+
+##############################################################################################
+
+ARCH=`uname -m`;
+PLATFORM="i386";
+
+if [ "$ARCH" = "x86_64" ] ; then
+ PLATFORM="amd64"
+fi
+
+
+##############################################################################################
+# Sourcen zusammenfassen, sofern wir im Sourceverzeichnis der GUI sind
+if [ -f TestGUI.pro ] ; then
+ echo "Erstelle Source-Distribution für GUI..."
+ build_sources
+ echo "Fertig"
+ echo "========================================================================================"
+else
+ # Sind wir nicht, wir müssen ein paar Pfade anpassen
+ WORK=$MYPWD
+ ROOT=$MYPWD/build
+fi
+
+##############################################################################################
+# Libs und Binary bauen
+if [ "$1" != "nobin" ] ; then
+ build_binary
+fi
+
+##############################################################################################
+# Pakete bauen
+if [ "$DISTRIB_ID" = "Ubuntu" ] ; then
+ if [ "$1" != "nobin" ] ; then
+ build_ubuntu
+ fi
+ build_specfile
+ build_srpm
+elif [ "$DISTRIB_ID" = "MINGW32" ] ; then
+ build_mingw32
+fi
+
+
+##############################################################################################
+# Aufräumen
+# rm -rf $WORK
+
diff --git a/src/pplib/conf.sh b/src/pplib/conf.sh
new file mode 100755
index 0000000..5a737d4
--- /dev/null
+++ b/src/pplib/conf.sh
@@ -0,0 +1,159 @@
+#!/bin/sh
+#
+###############################################################################
+# This file is part of "Patrick's Programming Library", Version 7 (PPL7).
+# Web: http://www.pfp.de/ppl/
+#
+# $Author$
+# $Revision$
+# $Date$
+# $Id$
+#
+###############################################################################
+#
+# Copyright (c) 2013, Patrick Fedick
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice,
+# this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+###############################################################################
+
+SYS=`uname -s`
+REL=`uname -r`
+KERNEL=`uname -v`
+
+PREFIX=$1
+PREFIX=${PREFIX:=$HOME}
+echo "PREFIX=$PREFIX, $SYS:$REL:$KERNEL"
+echo ""
+
+case "$SYS:$REL:$KERNEL" in
+ FreeBSD:11.*)
+ CLANGVERSION=
+ export CC=clang$CLANGVERSION
+ export CXX=clang++$CLANGVERSION
+ export CPPFLAGS=-I/usr/local/include
+ export LDLAGS=-L/usr/local/lib
+ export GCOV_CFLAGS="-fprofile-arcs -ftest-coverage"
+ export GCOV_LDFLAGS="-lgcov"
+ ./configure --prefix=$PREFIX \
+ --with-lame=/usr/local --with-mpg123=/usr/local \
+ --with-pcre=/usr/local --with-x --with-mysql \
+ --with-openssl=/usr \
+ --with-libiconv-prefix=/usr/local --with-nasm \
+ --with-libjpegturbo=/usr/local --with-libpng --with-libtiff=/usr/local \
+ --with-postgresql \
+ --with-libidn=/usr/local \
+ --with-ogg=/usr/local \
+ --with-libmicrohttpd=/usr/local \
+ --enable-gtest=/usr/local/gtest-1.7.0
+
+ ;;
+ MINGW32*:1.0.16*)
+ export CPPFLAGS="-DCURL_STATICLIB -I/usr/local/include -I/sdk/WindowsSDK/include"
+ export LDLAGS="-DCURL_STATICLIB -L/usr/local/lib -L/sdk/WindowsSDK/lib"
+ export CFLAGS="-DCURL_STATICLIB"
+ echo "Building for MinGW 1.0.16 - 32 Bit"
+
+ # preprocessor definitions will be in effect:
+ # * #define _WIN64 1 (also WIN64, __WIN64, and __WIN64__)
+ # * #define __MINGW64__ 1
+ # * #define __x86_64 1 (also __x86_64__)
+ # * #define __amd64 1 (also __amd64__)
+ #Be sure to use "-m32" or "-m64" at both the compile stage and the link stage.
+
+ ./configure --prefix=$PREFIX \
+ --build=i686-w64-mingw32 \
+ --with-pcre=/mingw --with-bzip2=/mingw --with-zlib=/mingw \
+ --with-nasm --with-libiconv-prefix=/mingw \
+ --with-lame=/mingw --with-mpg123=/mingw \
+ --with-jpeg=/mingw --with-png=/mingw \
+ --with-libmcrypt-prefix=/mingw --with-gcrypt=auto \
+ --with-openssl=/mingw --with-libcurl \
+ --with-ogg=/mingw
+ ;;
+ MINGW32*)
+ export CPPFLAGS="-DCURL_STATICLIB -I/usr/local/include -I/sdk/WindowsSDK/include"
+ export LDLAGS="-DCURL_STATICLIB -L/usr/local/lib -L/sdk/WindowsSDK/lib"
+ export CFLAGS="-DCURL_STATICLIB"
+ ./configure --prefix=$PREFIX \
+ --with-pcre=/usr/local --with-bzip2=/usr/local --with-zlib=/usr/local \
+ --with-nasm --with-libiconv-prefix=/usr/local \
+ --with-lame=/usr/local --with-mpg123=/usr/local \
+ --with-jpeg=/usr/local --with-libpng=/usr/local \
+ --with-libmcrypt-prefix=/usr/local --with-gcrypt=auto \
+ --with-openssl=/usr/local --with-libcurl \
+ --with-ogg=/usr/local
+ ;;
+ MINGW64*)
+ export CPPFLAGS="-DCURL_STATICLIB -I/usr/local/include -I/sdk/WindowsSDK/include"
+ export LDLAGS="-DCURL_STATICLIB -L/usr/local/lib -L/sdk/WindowsSDK/lib"
+ export CFLAGS="-DCURL_STATICLIB"
+ ./configure --prefix=$PREFIX \
+ --without-postgresql --without-mysql \
+ --enable-gtest=/usr/src/gtest-1.7.0 \
+ ;;
+ MSYS_NT-10*)
+ if [ -d /jenkins/local/bin ] ; then
+ PREFIX=/jenkins/local
+ fi
+ echo "configuring for MSYS2 MINGW64, PREFIX=$PREFIX"
+ MINGW=/mingw64
+ #export CPPFLAGS="-DCURL_STATICLIB -DPCRE_STATIC -I$PREFIX/include -I/usr/local/include -I/sdk/WindowsSDK/include"
+ #export LDLAGS="-DCURL_STATICLIB -L$PREFIX/lib -L/usr/local/lib -L/sdk/WindowsSDK/lib"
+ #export CFLAGS="-DCURL_STATICLIB -DPCRE_STATIC"
+ #export SQLITE_CFLAGS="-I$PREFIX/include -I/usr/local/include"
+ #export SQLITE_LIBS="-L$PREFIX/include -L/usr/local/lib -lsqlite3"
+ ./configure --prefix=$PREFIX \
+ --with-pcre=$MINGW --with-bzip2=$MINGW --with-zlib=$MINGW \
+ --with-nasm --with-libiconv-prefix=$MINGW \
+ --with-lame --with-mpg123 --with-ogg \
+ --with-ft-prefix=$MINGW \
+ --with-libtiff=$MINGW \
+ --with-libjpegturbo=$MINGW --with-libpng=$MINGW \
+ --with-libmcrypt-prefix=$PREFIX \
+ --with-openssl=$MINGW \
+ --with-libldns=$MINGW --with-libidn=$MINGW \
+ --without-postgresql --without-mysql \
+ --enable-gtest=/usr/local/gtest-1.7.0 \
+
+ ;;
+ Linux:*generic*)
+
+ # export CFLAGS="-no-pie "
+ echo "configuring for generic Linux"
+ ./configure --prefix=$PREFIX \
+ --with-lame --with-pcre=/usr --with-x --with-openssl=/usr \
+ --with-mysql --with-libiconv-prefix --with-nasm \
+ --with-gcrypt=auto --with-ogg=/usr \
+ --with-postgresql \
+ --with-libmicrohttpd=/usr/local \
+ --with-jpeg --with-libpng=$PREFIX --with-libtiff \
+ --with-libtiff=/usr --with-mpg123 \
+ --with-libidn --with-libidn2 --with-libldns=/usr \
+ --enable-gtest=/usr/local/googletest-release-1.7.0
+ ;;
+ *)
+ echo "Unknown host"
+ ;;
+esac
+
diff --git a/src/pplib/configure b/src/pplib/configure
new file mode 100755
index 0000000..937f23a
--- /dev/null
+++ b/src/pplib/configure
@@ -0,0 +1,19232 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for ppl 7.0.0.
+#
+# Report bugs to .
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and patrick@pfp.de
+$0: about your system, including any error possibly output
+$0: before this message. Then install a modern shell, or
+$0: manually run the script under such a shell if you do
+$0: have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 &1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='ppl'
+PACKAGE_TARNAME='ppl-7.0.0.tar.bz2'
+PACKAGE_VERSION='7.0.0'
+PACKAGE_STRING='ppl 7.0.0'
+PACKAGE_BUGREPORT='patrick@pfp.de'
+PACKAGE_URL=''
+
+ac_unique_file="include/ppl7.h"
+ac_unique_file="include/config.h.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include
+#ifdef HAVE_SYS_TYPES_H
+# include
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include
+#endif
+#ifdef STDC_HEADERS
+# include
+# include
+#else
+# ifdef HAVE_STDLIB_H
+# include
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include
+# endif
+# include
+#endif
+#ifdef HAVE_STRINGS_H
+# include
+#endif
+#ifdef HAVE_INTTYPES_H
+# include
+#endif
+#ifdef HAVE_STDINT_H
+# include
+#endif
+#ifdef HAVE_UNISTD_H
+# include
+#endif"
+
+ac_header_list=
+ac_func_list=
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+report_have_mpg123
+report_have_libbind
+report_have_libidn2
+report_have_libidn
+report_have_libmicrohttpd
+report_have_libtiff
+report_have_libimlib
+report_have_libshout
+report_have_libogg
+report_have_ldns
+report_have_pthreads
+report_have_nasm
+report_have_sqlite3
+report_have_freetds
+report_have_postgres
+report_have_mysql
+report_have_libmcrypt
+report_have_iconv
+report_have_pcre
+report_have_openssl
+report_have_curl
+report_have_libmad
+report_have_lame
+report_have_sdl2
+report_have_freetype2
+report_have_jpeg
+report_have_png
+report_have_bzip2
+report_have_zlib
+WINDOWS_WINSOCK_LIBS
+SRCDIR
+ASMDEBUGFLAGS
+ASMFLAGS
+ASM
+HAVE_X86_ASSEMBLER
+NASMDEBUGFLAGS
+NASMFLAGS
+NASM
+nasm
+ldnsconfig
+LIBLDNS_LIBS
+LIBLDNS_CFLAGS
+FREETDS_LIBS
+FREETDS_CFLAGS
+SQLITE3_VERSION
+SQLITE3_LDFLAGS
+SQLITE3_CFLAGS
+POSTGRESQL_LDFLAGS
+POSTGRESQL_CFLAGS
+POSTGRESQL_VERSION
+PG_CONFIG
+MYSQL_LDFLAGS
+MYSQL_CFLAGS
+MYSQL_VERSION
+MYSQL_CONFIG
+imlibconfig
+IMLIB_LIBS
+IMLIB_CFLAGS
+SDL2_CONFIG
+SDL2_FRAMEWORK
+SDL2_LIBS
+SDL2_CFLAGS
+FT2_LIBS
+FT2_CFLAGS
+FT2_CONFIG
+OPENSSL_LDFLAGS
+OPENSSL_LIBS
+OPENSSL_INCLUDES
+PCRE_CFLAGS
+PCRE_LIBS
+ZLIB_LIBS
+ZLIB_CFLAGS
+BZ2_LIBS
+BZ2_CFLAGS
+ICONV_LIBS
+ICONV_CFLAGS
+LTLIBICONV
+LIBICONV
+LIBCDIO_LDFLAGS
+LIBCDIO_CFLAGS
+libcdio_LIBS
+libcdio_CFLAGS
+SHOUTCONFIG
+PKGCONFIG
+SHOUT_LIBS
+SHOUT_CFLAGS
+OGG_LIBS
+OGG_CFLAGS
+LAME_LIBS
+LAME_CFLAGS
+MPG123_LIBS
+MPG123_CFLAGS
+_libcurl_config
+LIBCURL_CPPFLAGS
+LIBCURL
+TIFF_LIBS
+TIFF_CFLAGS
+LIBIDN_LIBS
+LIBIDN_CFLAGS
+LIBMCRYPT_LIBS
+LIBMCRYPT_CFLAGS
+LIBMCRYPT_CONFIG
+LIBMICROHTTPD_LIBS
+LIBMICROHTTPD_CFLAGS
+PNG_LIBS
+PNG_CFLAGS
+libpngconfig
+TURBOJPEG_LIBS
+TURBOJPEG_CFLAGS
+JPEG_LIBS
+JPEG_CFLAGS
+LIBOBJS
+HAVE_GTEST
+GTEST_PREFIX
+PPLIBTESTVERSION
+GCOV_LDFLAGS
+GCOV_LDLAGS
+GCOV_CFLAGS
+X_EXTRA_LIBS
+X_LIBS
+X_PRE_LIBS
+X_CFLAGS
+XMKMF
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+EGREP
+GREP
+CPP
+SED
+PTHREAD_CFLAGS
+PTHREAD_LIBS
+PTHREAD_CC
+ax_pthread_config
+NOPIE
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_os
+target_vendor
+target_cpu
+target
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+runstatedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_dependency_tracking
+enable_largefile
+with_x
+enable_coverage
+enable_gtest
+with_libbind
+with_jpeg
+with_libjpegturbo
+with_libpng
+with_libmicrohttpd
+with_libmcrypt_prefix
+with_libidn
+with_libidn2
+with_libtiff
+with_libcurl
+with_mpg123
+with_lame
+with_ogg
+with_ogg_libraries
+with_ogg_includes
+enable_oggtest
+with_libcdio
+with_gnu_ld
+enable_rpath
+with_libiconv_prefix
+with_bzip2
+with_zlib
+with_pcre
+with_openssl
+with_ft_prefix
+with_ft_exec_prefix
+enable_freetypetest
+with_sdl_prefix
+with_sdl_exec_prefix
+enable_sdltest
+enable_sdlframework
+with_imlib
+with_mysql
+with_postgresql
+with_sqlite3
+with_libldns
+with_nasm
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC
+CPP
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+XMKMF
+GCOV_CFLAGS
+GCOV_LDLAGS
+JPEG_CFLAGS
+JPEG_LIBS
+TURBOJPEG_CFLAGS
+TURBOJPEG_LIBS
+PNG_CFLAGS
+PNG_LIBS
+libcdio_CFLAGS
+libcdio_LIBS
+SDL2_FRAMEWORK
+SDL2_CFLAGS
+SDL2_LIBS
+MYSQL_CONFIG'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
+ | --runstate | --runstat | --runsta | --runst | --runs \
+ | --run | --ru | --r)
+ ac_prev=runstatedir ;;
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+ | --run=* | --ru=* | --r=*)
+ runstatedir=$ac_optarg ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir runstatedir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures ppl 7.0.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root
+ [DATAROOTDIR/doc/ppl-7.0.0.tar.bz2]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+X features:
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+ --target=TARGET configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of ppl 7.0.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
+ --disable-largefile omit support for large files
+ --enable-coverage Enable build of code coverage version and tests
+
+ --enable-gtest=PATH Enable tests using the Google C++ Testing Framework.
+ (Default is enabled.)
+ --disable-oggtest Do not try to compile and run a test Ogg program
+ --disable-rpath do not hardcode runtime library paths
+ --disable-freetypetest Do not try to compile and run a test FreeType
+ program
+ --disable-sdltest Do not try to compile and run a test SDL program
+ --disable-sdlframework Do not search for SDL2.framework
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-x use the X Window System
+ --with-libbind[=PATH] Prefix where libbind is installed (optional)
+ --with-jpeg[=PATH] Prefix where libjpeg is installed (optional)
+ --with-libjpegturbo[=PATH] Prefix where libjpeg-turbo is installed (optional)
+ --with-libpng[=PATH] Prefix where libpng is installed (optional)
+ --with-libmicrohttpd[=PATH] Prefix where libmicrohttpd is installed (optional)
+ --with-libmcrypt-prefix=PFX Prefix where libmcrypt is installed (optional)
+ --with-libidn[=PATH] Prefix where libidn is installed (optional)
+ --with-libidn2[=PATH] Prefix where libidn2 is installed (optional)
+ --with-libtiff[=PATH] Prefix where libtiff is installed (optional)
+ --with-libcurl=PREFIX look for the curl library in PREFIX/lib and headers
+ in PREFIX/include
+ --with-mpg123[=PATH] Prefix where libmpg123 is installed (optional)
+ --with-lame[=DIR] enable support for MP3 encoding with lame [in DIR]
+ --with-ogg=PFX Prefix where libogg is installed (optional)
+ --with-ogg-libraries=DIR
+ Directory where libogg library is installed
+ (optional)
+ --with-ogg-includes=DIR Directory where libogg header files are installed
+ (optional)
+ --with-libcdio[=PATH] support accesing audio cds (optional)
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --with-bzip2[=PATH] Prefix where bzip2 is installed (optional)
+ --with-zlib=DIR root directory path of zlib installation [defaults to
+ /usr/local or /usr if not found in /usr/local]
+ --without-zlib to disable zlib usage completely
+ --with-pcre[=prefix] compile xmlpcre part (via libpcre check)
+ --with-openssl=DIR root of the OpenSSL directory
+ --with-ft-prefix=PREFIX Prefix where FreeType is installed (optional)
+ --with-ft-exec-prefix=PREFIX
+ Exec prefix where FreeType is installed (optional)
+ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)
+ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)
+ --with-imlib[=PATH] Prefix where ImageMagick is installed (default=autodetected)
+ --with-mysql=[ARG] use MySQL client library [default=yes], optionally
+ specify path to mysql_config
+ --with-postgresql=[ARG] use PostgreSQL library [default=yes], optionally
+ specify path to pg_config
+ --with-sqlite3=[ARG] use SQLite 3 library [default=yes], optionally
+ specify the prefix for sqlite3 library
+ --with-libldns[=PATH] Prefix where LDNS-Library from netlabs.nl is installed
+ --with-nasm[=PATH] Prefix where nasm is installed (optional)
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L if you have libraries in a
+ nonstandard directory
+ LIBS libraries to pass to the linker, e.g. -l
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
+ you have headers in a nonstandard directory
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+ CPP C preprocessor
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ XMKMF Path to xmkmf, Makefile generator for X Window System
+ GCOV_CFLAGS additional compiler flags to compile the code coverage version
+ of the library
+ GCOV_LDLAGS additional linker flags to compile the code coverage version of
+ the library
+ JPEG_CFLAGS C compiler flags for JPEG, overriding pkg-config
+ JPEG_LIBS linker flags for JPEG, overriding pkg-config
+ TURBOJPEG_CFLAGS
+ C compiler flags for TURBOJPEG, overriding pkg-config
+ TURBOJPEG_LIBS
+ linker flags for TURBOJPEG, overriding pkg-config
+ PNG_CFLAGS C compiler flags for PNG, overriding pkg-config
+ PNG_LIBS linker flags for PNG, overriding pkg-config
+ libcdio_CFLAGS
+ C compiler flags for libcdio, overriding pkg-config
+ libcdio_LIBS
+ linker flags for libcdio, overriding pkg-config
+ SDL2_FRAMEWORK
+ Path to SDL2.framework
+ SDL2_CFLAGS C compiler flags for SDL2, overriding pkg-config
+ SDL2_LIBS linker flags for SDL2, overriding pkg-config
+ MYSQL_CONFIG
+ Full path to mysql_config program
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to .
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+ppl configure 7.0.0
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid; break
+else
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=$ac_mid; break
+else
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid
+else
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include
+#include
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ echo >>conftest.val; read $3 &5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case declares $2.
+ For example, HP-UX 11i declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer to if __STDC__ is defined, since
+ exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include
+#else
+# include
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ----------------------------- ##
+## Report this to patrick@pfp.de ##
+## ----------------------------- ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ppl $as_me 7.0.0, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+as_fn_append ac_header_list " sys/time.h"
+as_fn_append ac_header_list " unistd.h"
+as_fn_append ac_func_list " alarm"
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_aux_dir=
+for ac_dir in autoconf "$srcdir"/autoconf; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in autoconf \"$srcdir\"/autoconf" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+
+
+
+#AC_CONFIG_SRCDIR([src/core/pplcore.cpp])
+#AC_CONFIG_SRCDIR([src/core/functions.cpp])
+#AC_CONFIG_SRCDIR([src/math/math.cpp])
+
+ac_config_files="$ac_config_files Makefile"
+
+ac_config_files="$ac_config_files tests/Makefile"
+
+ac_config_files="$ac_config_files ppl7-config"
+
+ac_config_headers="$ac_config_headers include/config.h"
+
+ac_config_headers="$ac_config_headers include/ppl7-config.h"
+
+
+
+###############################################################################
+# Includes
+###############################################################################
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional])
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the specified
+# version of the C++ standard. If necessary, add switches to CXXFLAGS to
+# enable support. VERSION may be '11' (for the C++11 standard) or '14'
+# (for the C++14 standard).
+#
+# The second argument, if specified, indicates whether you insist on an
+# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g.
+# -std=c++11). If neither is specified, you get whatever works, with
+# preference for an extended mode.
+#
+# The third argument, if specified 'mandatory' or if left unspecified,
+# indicates that baseline support for the specified C++ standard is
+# required and that the macro should error out if no mode with that
+# support is found. If specified 'optional', then configuration proceeds
+# regardless, after defining HAVE_CXX${VERSION} if and only if a
+# supporting mode is found.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Benjamin Kosnik
+# Copyright (c) 2012 Zack Weinberg
+# Copyright (c) 2013 Roy Stogner
+# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov
+# Copyright (c) 2015 Paul Norman
+# Copyright (c) 2015 Moritz Klammler
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# ===========================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_check_openssl.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_OPENSSL([action-if-found[, action-if-not-found]])
+#
+# DESCRIPTION
+#
+# Look for OpenSSL in a number of default spots, or in a user-selected
+# spot (via --with-openssl). Sets
+#
+# OPENSSL_INCLUDES to the include directives required
+# OPENSSL_LIBS to the -l directives required
+# OPENSSL_LDFLAGS to the -L or -R flags required
+#
+# and calls ACTION-IF-FOUND or ACTION-IF-NOT-FOUND appropriately
+#
+# This macro sets OPENSSL_INCLUDES such that source files should use the
+# openssl/ directory in include directives:
+#
+# #include
+#
+# LICENSE
+#
+# Copyright (c) 2009,2010 Zmanda Inc.
+# Copyright (c) 2009,2010 Dustin J. Mitchell
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 10
+
+# This is what autoupdate's m4 run will expand. It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4. It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once. We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf. It tells the user to run autoupdate, and
+# then outputs the replacement expansion. We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) 2006, David Shaw
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at http://curl.haxx.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+###########################################################################
+# LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION],
+# [ACTION-IF-YES], [ACTION-IF-NO])
+# ----------------------------------------------------------
+# David Shaw May-09-2006
+#
+# Checks for libcurl. DEFAULT-ACTION is the string yes or no to
+# specify whether to default to --with-libcurl or --without-libcurl.
+# If not supplied, DEFAULT-ACTION is yes. MINIMUM-VERSION is the
+# minimum version of libcurl to accept. Pass the version as a regular
+# version number like 7.10.1. If not supplied, any version is
+# accepted. ACTION-IF-YES is a list of shell commands to run if
+# libcurl was successfully found and passed the various tests.
+# ACTION-IF-NO is a list of shell commands that are run otherwise.
+# Note that using --without-libcurl does run ACTION-IF-NO.
+#
+# This macro #defines HAVE_LIBCURL if a working libcurl setup is
+# found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary
+# values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are
+# the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy
+# where yyy are the various protocols supported by libcurl. Both xxx
+# and yyy are capitalized. See the list of AH_TEMPLATEs at the top of
+# the macro for the complete list of possible defines. Shell
+# variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also
+# defined to 'yes' for those features and protocols that were found.
+# Note that xxx and yyy keep the same capitalization as in the
+# curl-config list (e.g. it's "HTTP" and not "http").
+#
+# Users may override the detected values by doing something like:
+# LIBCURL="-lcurl" LIBCURL_CPPFLAGS="-I/usr/myinclude" ./configure
+#
+# For the sake of sanity, this macro assumes that any libcurl that is
+# found is after version 7.7.2, the first version that included the
+# curl-config script. Note that it is very important for people
+# packaging binary versions of libcurl to include this script!
+# Without curl-config, we can only guess what protocols are available,
+# or use curl_version_info to figure it out at runtime.
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_mysql.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_MYSQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# This macro provides tests of availability of MySQL client library of
+# particular version or newer.
+#
+# AX_LIB_MYSQL macro takes only one argument which is optional. If there
+# is no required version passed, then macro does not run version test.
+#
+# The --with-mysql option takes one of three possible values:
+#
+# no - do not check for MySQL client library
+#
+# yes - do check for MySQL library in standard locations (mysql_config
+# should be in the PATH)
+#
+# path - complete path to mysql_config utility, use this option if
+# mysql_config can't be found in the PATH
+#
+# This macro calls:
+#
+# AC_SUBST(MYSQL_CFLAGS)
+# AC_SUBST(MYSQL_LDFLAGS)
+# AC_SUBST(MYSQL_VERSION)
+#
+# And sets:
+#
+# HAVE_MYSQL
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 12
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_POSTGRESQL([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# This macro provides tests of availability of PostgreSQL 'libpq' library
+# of particular version or newer.
+#
+# AX_LIB_POSTGRESQL macro takes only one argument which is optional. If
+# there is no required version passed, then macro does not run version
+# test.
+#
+# The --with-postgresql option takes one of three possible values:
+#
+# no - do not check for PostgreSQL client library
+#
+# yes - do check for PostgreSQL library in standard locations (pg_config
+# should be in the PATH)
+#
+# path - complete path to pg_config utility, use this option if pg_config
+# can't be found in the PATH
+#
+# This macro calls:
+#
+# AC_SUBST(POSTGRESQL_CFLAGS)
+# AC_SUBST(POSTGRESQL_LDFLAGS)
+# AC_SUBST(POSTGRESQL_VERSION)
+#
+# And sets:
+#
+# HAVE_POSTGRESQL
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 9
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_sqlite3.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_SQLITE3([MINIMUM-VERSION])
+#
+# DESCRIPTION
+#
+# Test for the SQLite 3 library of a particular version (or newer)
+#
+# This macro takes only one optional argument, required version of SQLite
+# 3 library. If required version is not passed, 3.0.0 is used in the test
+# of existance of SQLite 3.
+#
+# If no intallation prefix to the installed SQLite library is given the
+# macro searches under /usr, /usr/local, and /opt.
+#
+# This macro calls:
+#
+# AC_SUBST(SQLITE3_CFLAGS)
+# AC_SUBST(SQLITE3_LDFLAGS)
+# AC_SUBST(SQLITE3_VERSION)
+#
+# And sets:
+#
+# HAVE_SQLITE3
+#
+# LICENSE
+#
+# Copyright (c) 2008 Mateusz Loskot
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 14
+
+
+
+# Configure paths for FreeType2
+# Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
+#
+# Copyright 2001, 2003 by
+# David Turner, Robert Wilhelm, and Werner Lemberg.
+#
+# This file is part of the FreeType project, and may only be used, modified,
+# and distributed under the terms of the FreeType project license,
+# LICENSE.TXT. By continuing to use, modify, or distribute this file you
+# indicate that you have read the license and understand and accept it
+# fully.
+#
+# serial 2
+
+# AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+# Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
+# MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
+# FreeType 2.0.4).
+#
+
+
+# end of freetype2.m4
+
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_path_lib_pcre.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PATH_LIB_PCRE [(A/NA)]
+#
+# DESCRIPTION
+#
+# check for pcre lib and set PCRE_LIBS and PCRE_CFLAGS accordingly.
+#
+# also provide --with-pcre option that may point to the $prefix of the
+# pcre installation - the macro will check $pcre/include and $pcre/lib to
+# contain the necessary files.
+#
+# the usual two ACTION-IF-FOUND / ACTION-IF-NOT-FOUND are supported and
+# they can take advantage of the LIBS/CFLAGS additions.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Guido U. Draheim
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+# This macro figures out how to build C programs using POSIX threads. It
+# sets the PTHREAD_LIBS output variable to the threads library and linker
+# flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+# flags that are needed. (The user can also force certain compiler
+# flags/libs to be tested by setting these environment variables.)
+#
+# Also sets PTHREAD_CC to any special C compiler that is needed for
+# multi-threaded programs (defaults to the value of CC otherwise). (This
+# is necessary on AIX to use the special cc_r compiler alias.)
+#
+# NOTE: You are assumed to not only compile your program with these flags,
+# but also link it with them as well. e.g. you should link with
+# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+# If you are only building threads programs, you may wish to use these
+# variables in your default LIBS, CFLAGS, and CC:
+#
+# LIBS="$PTHREAD_LIBS $LIBS"
+# CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+# CC="$PTHREAD_CC"
+#
+# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name
+# (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
+# PTHREAD_PRIO_INHERIT symbol is defined when compiling with
+# PTHREAD_CFLAGS.
+#
+# ACTION-IF-FOUND is a list of shell commands to run if a threads library
+# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+# is not found. If ACTION-IF-FOUND is not specified, the default action
+# will define HAVE_PTHREAD.
+#
+# Please let the authors know if this macro fails on any platform, or if
+# you have any other suggestions or comments. This macro was based on work
+# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+# Alejandro Forero Cuervo to the autoconf macro repository. We are also
+# grateful for the helpful feedback of numerous users.
+#
+# Updated for Autoconf 2.68 by Daniel Richard G.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson
+# Copyright (c) 2011 Daniel Richard G.
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 20
+
+# This is what autoupdate's m4 run will expand. It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4. It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once. We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf. It tells the user to run autoupdate, and
+# then outputs the replacement expansion. We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+# Configure paths for SDL
+# Sam Lantinga 9/21/99
+# stolen from Manish Singh
+# stolen back from Frank Belew
+# stolen from Manish Singh
+# Shamelessly stolen from Owen Taylor
+#
+# Changelog:
+# * also look for SDL2.framework under Mac OS X
+
+# serial 1
+
+
+
+
+
+
+
+
+
+
+
+# lib-link.m4 serial 20 (gettext-0.18)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# iconv.m4 serial AM7 (gettext-0.18)
+
+
+
+
+
+
+
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_check_zlib.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_CHECK_ZLIB([action-if-found], [action-if-not-found])
+#
+# DESCRIPTION
+#
+# This macro searches for an installed zlib library. If nothing was
+# specified when calling configure, it searches first in /usr/local and
+# then in /usr, /opt/local and /sw. If the --with-zlib=DIR is specified,
+# it will try to find it in DIR/include/zlib.h and DIR/lib/libz.a. If
+# --without-zlib is specified, the library is not searched at all.
+#
+# If either the header file (zlib.h) or the library (libz) is not found,
+# shell commands 'action-if-not-found' is run. If 'action-if-not-found' is
+# not specified, the configuration exits on error, asking for a valid zlib
+# installation directory or --without-zlib.
+#
+# If both header file and library are found, shell commands
+# 'action-if-found' is run. If 'action-if-found' is not specified, the
+# default action appends '-I${ZLIB_HOME}/include' to CPFLAGS, appends
+# '-L$ZLIB_HOME}/lib' to LDFLAGS, prepends '-lz' to LIBS, and calls
+# AC_DEFINE(HAVE_LIBZ). You should use autoheader to include a definition
+# for this symbol in a config.h file. Sample usage in a C/C++ source is as
+# follows:
+#
+# #ifdef HAVE_LIBZ
+# #include
+# #endif /* HAVE_LIBZ */
+#
+# LICENSE
+#
+# Copyright (c) 2008 Loic Dachary
+# Copyright (c) 2010 Bastien Chevreux
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see .
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 14
+
+# This is what autoupdate's m4 run will expand. It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4. It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once. We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf. It tells the user to run autoupdate, and
+# then outputs the replacement expansion. We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+
+# This script detects libmcrypt version and defines
+# LIBMCRYPT_CFLAGS, LIBMCRYPT_LIBS
+# and LIBMCRYPT24 or LIBMCRYPT22 depending on libmcrypt version
+# found.
+
+# Modified for LIBMCRYPT -- nmav
+# Configure paths for LIBGCRYPT
+# Shamelessly stolen from the one of XDELTA by Owen Taylor
+# Werner Koch 99-12-09
+
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_lib_crypto.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_LIB_CRYPTO([yes|no|auto])
+#
+# DESCRIPTION
+#
+# Searches for the 'crypto' library with the --with... option.
+#
+# If found, define HAVE_CRYPTO and macro CRYPTO_LIBS. Also defines
+# CRYPTO_WITH_ for the algorithms found available. Possible
+# algorithms: AES BF CAMELLIA CAST DES IDEA RC2 RC5 MD2 MD4 MD5 SHA RIPEMD
+# RSA DSA DH
+#
+# The argument is used if no --with...-crypto option is set. Value "yes"
+# requires the configuration by default. Value "no" does not require it by
+# default. Value "auto" configures the library only if available.
+#
+# See also AX_LIB_BEECRYPT and AX_LIB_GCRYPT.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Fabien Coelho
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved. This file is offered as-is, without any
+# warranty.
+
+#serial 7
+
+# AX_CHECK_CRYPTO_LIB([algo-name],[function])
+
+
+# AX_LIB_CRYPTO([yes|no|auto])
+
+
+
+
+
+
+# ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_gcc_x86_cpuid.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_GCC_X86_CPUID(OP)
+#
+# DESCRIPTION
+#
+# On Pentium and later x86 processors, with gcc or a compiler that has a
+# compatible syntax for inline assembly instructions, run a small program
+# that executes the cpuid instruction with input OP. This can be used to
+# detect the CPU type.
+#
+# On output, the values of the eax, ebx, ecx, and edx registers are stored
+# as hexadecimal strings as "eax:ebx:ecx:edx" in the cache variable
+# ax_cv_gcc_x86_cpuid_OP.
+#
+# If the cpuid instruction fails (because you are running a
+# cross-compiler, or because you are not using gcc, or because you are on
+# a processor that doesn't have this instruction), ax_cv_gcc_x86_cpuid_OP
+# is set to the string "unknown".
+#
+# This macro mainly exists to be used in AX_GCC_ARCHFLAG.
+#
+# LICENSE
+#
+# Copyright (c) 2008 Steven G. Johnson