mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 13:03:20 +00:00
version 3.1.4
This commit is contained in:
930
bin/src/php_phrasea2/.cproject
Normal file
930
bin/src/php_phrasea2/.cproject
Normal file
@@ -0,0 +1,930 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.165250100">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.165250100" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="php_phrasea2" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.165250100" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.165250100." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.12699079" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
||||
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.531380949" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
||||
<builder buildPath="${workspace_loc:/php_phrasea2/Debug}" command="make" id="cdt.managedbuild.target.gnu.builder.exe.debug.1025439536" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1004887437" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1895903694" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
||||
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.230449463" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.1040747629" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.4005438" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1804526417" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
||||
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1562658356" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.exe.debug.option.debugging.level.2101062724" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1986057191" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.757833240" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.537818181" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1440508094" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1075241667" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1345157132" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.240959347;cdt.managedbuild.config.gnu.exe.release.240959347.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1624780267;cdt.managedbuild.tool.gnu.cpp.compiler.input.1598634639">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.165250100;cdt.managedbuild.config.gnu.exe.debug.165250100.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1895903694;cdt.managedbuild.tool.gnu.cpp.compiler.input.4005438">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.165250100;cdt.managedbuild.config.gnu.exe.debug.165250100.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1804526417;cdt.managedbuild.tool.gnu.c.compiler.input.1986057191">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.240959347;cdt.managedbuild.config.gnu.exe.release.240959347.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.2126500899;cdt.managedbuild.tool.gnu.c.compiler.input.1196857699">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.240959347">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.240959347" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="php_phrasea2" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.240959347" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.240959347." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.70315111" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
||||
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1247988923" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
||||
<builder buildPath="${workspace_loc:/php_phrasea2/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.681445162" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1025573831" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1624780267" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
||||
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1063891696" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.715354819" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1598634639" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.2126500899" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
||||
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.971772884" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.exe.release.option.debugging.level.181036420" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1196857699" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1776431" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.1506257190" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.496725209" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.1917506290" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.355537992" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.240959347;cdt.managedbuild.config.gnu.exe.release.240959347.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.1624780267;cdt.managedbuild.tool.gnu.cpp.compiler.input.1598634639">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.165250100;cdt.managedbuild.config.gnu.exe.debug.165250100.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.1895903694;cdt.managedbuild.tool.gnu.cpp.compiler.input.4005438">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.165250100;cdt.managedbuild.config.gnu.exe.debug.165250100.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.1804526417;cdt.managedbuild.tool.gnu.c.compiler.input.1986057191">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.240959347;cdt.managedbuild.config.gnu.exe.release.240959347.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.2126500899;cdt.managedbuild.tool.gnu.c.compiler.input.1196857699">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="php_phrasea2.cdt.managedbuild.target.gnu.exe.1502188957" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
||||
</storageModule>
|
||||
</cproject>
|
82
bin/src/php_phrasea2/.project
Normal file
82
bin/src/php_phrasea2/.project
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>php_phrasea2</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>?name?</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
||||
<value>make</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
||||
<value>${workspace_loc:/php_phrasea2/Debug}</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
||||
<value>clean</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.contents</key>
|
||||
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
1
bin/src/php_phrasea2/CREDITS
Normal file
1
bin/src/php_phrasea2/CREDITS
Normal file
@@ -0,0 +1 @@
|
||||
phrasea2
|
0
bin/src/php_phrasea2/EXPERIMENTAL
Normal file
0
bin/src/php_phrasea2/EXPERIMENTAL
Normal file
123
bin/src/php_phrasea2/Makefile.global
Normal file
123
bin/src/php_phrasea2/Makefile.global
Normal file
@@ -0,0 +1,123 @@
|
||||
mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
|
||||
INSTALL = $(top_srcdir)/build/shtool install -c
|
||||
INSTALL_DATA = $(INSTALL) -m 644
|
||||
|
||||
DEFS = -DPHP_ATOM_INC -I$(top_builddir)/include -I$(top_builddir)/main -I$(top_srcdir)
|
||||
COMMON_FLAGS = $(DEFS) $(INCLUDES) $(EXTRA_INCLUDES) $(CPPFLAGS) $(PHP_FRAMEWORKPATH)
|
||||
|
||||
all: $(all_targets)
|
||||
@echo
|
||||
@echo "Build complete."
|
||||
@echo "Don't forget to run 'make test'."
|
||||
@echo
|
||||
|
||||
build-modules: $(PHP_MODULES) $(PHP_ZEND_EX)
|
||||
|
||||
libphp$(PHP_MAJOR_VERSION).la: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
|
||||
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@
|
||||
-@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1
|
||||
|
||||
libs/libphp$(PHP_MAJOR_VERSION).bundle: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS)
|
||||
$(CC) $(MH_BUNDLE_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(PHP_GLOBAL_OBJS:.lo=.o) $(PHP_SAPI_OBJS:.lo=.o) $(PHP_FRAMEWORKS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ && cp $@ libs/libphp$(PHP_MAJOR_VERSION).so
|
||||
|
||||
install: $(all_targets) $(install_targets)
|
||||
|
||||
install-sapi: $(OVERALL_TARGET)
|
||||
@echo "Installing PHP SAPI module: $(PHP_SAPI)"
|
||||
-@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
|
||||
-@if test ! -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); then \
|
||||
for i in 0.0.0 0.0 0; do \
|
||||
if test -r $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i; then \
|
||||
$(LN_S) $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME).$$i $(phptempdir)/libphp$(PHP_MAJOR_VERSION).$(SHLIB_DL_SUFFIX_NAME); \
|
||||
break; \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
@$(INSTALL_IT)
|
||||
|
||||
install-modules: build-modules
|
||||
@test -d modules && \
|
||||
$(mkinstalldirs) $(INSTALL_ROOT)$(EXTENSION_DIR)
|
||||
@echo "Installing shared extensions: $(INSTALL_ROOT)$(EXTENSION_DIR)/"
|
||||
@rm -f modules/*.la >/dev/null 2>&1
|
||||
@$(INSTALL) modules/* $(INSTALL_ROOT)$(EXTENSION_DIR)
|
||||
|
||||
install-headers:
|
||||
-@if test "$(INSTALL_HEADERS)"; then \
|
||||
for i in `echo $(INSTALL_HEADERS)`; do \
|
||||
i=`$(top_srcdir)/build/shtool path -d $$i`; \
|
||||
paths="$$paths $(INSTALL_ROOT)$(phpincludedir)/$$i"; \
|
||||
done; \
|
||||
$(mkinstalldirs) $$paths && \
|
||||
echo "Installing header files: $(INSTALL_ROOT)$(phpincludedir)/" && \
|
||||
for i in `echo $(INSTALL_HEADERS)`; do \
|
||||
if test "$(PHP_PECL_EXTENSION)"; then \
|
||||
src=`echo $$i | $(SED) -e "s#ext/$(PHP_PECL_EXTENSION)/##g"`; \
|
||||
else \
|
||||
src=$$i; \
|
||||
fi; \
|
||||
if test -f "$(top_srcdir)/$$src"; then \
|
||||
$(INSTALL_DATA) $(top_srcdir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
elif test -f "$(top_builddir)/$$src"; then \
|
||||
$(INSTALL_DATA) $(top_builddir)/$$src $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
else \
|
||||
(cd $(top_srcdir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i; \
|
||||
cd $(top_builddir)/$$src && $(INSTALL_DATA) *.h $(INSTALL_ROOT)$(phpincludedir)/$$i) 2>/dev/null || true; \
|
||||
fi \
|
||||
done; \
|
||||
fi
|
||||
|
||||
PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1'
|
||||
PHP_TEST_SHARED_EXTENSIONS = ` \
|
||||
if test "x$(PHP_MODULES)" != "x"; then \
|
||||
for i in $(PHP_MODULES)""; do \
|
||||
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
|
||||
done; \
|
||||
fi; \
|
||||
if test "x$(PHP_ZEND_EX)" != "x"; then \
|
||||
for i in $(PHP_ZEND_EX)""; do \
|
||||
. $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \
|
||||
done; \
|
||||
fi`
|
||||
|
||||
test: all
|
||||
-@if test ! -z "$(PHP_EXECUTABLE)" && test -x "$(PHP_EXECUTABLE)"; then \
|
||||
TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(PHP_EXECUTABLE) $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -d extension_dir=modules/ $(PHP_TEST_SHARED_EXTENSIONS) tests/; \
|
||||
elif test ! -z "$(SAPI_CLI_PATH)" && test -x "$(SAPI_CLI_PATH)"; then \
|
||||
INI_FILE=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r 'echo php_ini_loaded_file();' 2> /dev/null`; \
|
||||
if test "$$INI_FILE"; then \
|
||||
$(EGREP) -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_FILE" > $(top_builddir)/tmp-php.ini; \
|
||||
else \
|
||||
echo > $(top_builddir)/tmp-php.ini; \
|
||||
fi; \
|
||||
INI_SCANNED_PATH=`$(top_builddir)/$(SAPI_CLI_PATH) -d 'display_errors=stderr' -r '$$a = explode(",\n", trim(php_ini_scanned_files())); echo $$a[0];' 2> /dev/null`; \
|
||||
if test "$$INI_SCANNED_PATH"; then \
|
||||
INI_SCANNED_PATH=`$(top_srcdir)/build/shtool path -d $$INI_SCANNED_PATH`; \
|
||||
$(EGREP) -h -v '^(zend_)?extension(_debug)?(_ts)?[\t\ ]*=' "$$INI_SCANNED_PATH"/*.ini >> $(top_builddir)/tmp-php.ini; \
|
||||
fi; \
|
||||
TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
|
||||
TEST_PHP_SRCDIR=$(top_srcdir) \
|
||||
CC="$(CC)" \
|
||||
$(top_builddir)/$(SAPI_CLI_PATH) -n -c $(top_builddir)/tmp-php.ini $(PHP_TEST_SETTINGS) $(top_srcdir)/run-tests.php -n -c $(top_builddir)/tmp-php.ini -d extension_dir=$(top_builddir)/modules/ $(PHP_TEST_SHARED_EXTENSIONS) $(TESTS); \
|
||||
else \
|
||||
echo "ERROR: Cannot run tests without CLI sapi."; \
|
||||
fi
|
||||
|
||||
clean:
|
||||
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
|
||||
find . -name \*.lo -o -name \*.o | xargs rm -f
|
||||
find . -name \*.la -o -name \*.a | xargs rm -f
|
||||
find . -name \*.so | xargs rm -f
|
||||
find . -name .libs -a -type d|xargs rm -rf
|
||||
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(OVERALL_TARGET) modules/* libs/*
|
||||
|
||||
distclean: clean
|
||||
rm -f config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h stamp-h php5.spec sapi/apache/libphp$(PHP_MAJOR_VERSION).module buildmk.stamp
|
||||
$(EGREP) define'.*include/php' $(top_srcdir)/configure | $(SED) 's/.*>//'|xargs rm -f
|
||||
find . -name Makefile | xargs rm -f
|
||||
|
||||
.PHONY: all clean install distclean test
|
||||
.NOEXPORT:
|
4
bin/src/php_phrasea2/_TIME.h
Normal file
4
bin/src/php_phrasea2/_TIME.h
Normal file
@@ -0,0 +1,4 @@
|
||||
/*
|
||||
L'heure actuelle est<73>: 16:58:23,12
|
||||
Entrez la nouvelle heure<72>:
|
||||
*/
|
25
bin/src/php_phrasea2/_VERSION.h
Normal file
25
bin/src/php_phrasea2/_VERSION.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//======================== _WIN32 (visual C++ 2008) : ===================
|
||||
//
|
||||
// le numero de version est defini dans l'onglet
|
||||
// 'gestionnaire de proprietes' / 'custom props' / 'macros utilisateur'
|
||||
//
|
||||
// ATTENTION : en cas de changement de version, forcer la recompilation
|
||||
// de phrasea2.rc avant de recompiler le projet
|
||||
//
|
||||
#define QUOTE(x) _QUOTE(x)
|
||||
#define _QUOTE(a) #a
|
||||
//
|
||||
//=======================================================================
|
||||
|
||||
|
||||
|
||||
//============= _DEBIAN ; _GENTOO ; _OS-X_10.4_i386 : ==================
|
||||
//
|
||||
// le numero de version est defini ici :
|
||||
//
|
||||
|
||||
#ifndef PHDOTVERSION
|
||||
#define PHDOTVERSION 1.16.5.4
|
||||
#endif
|
||||
//
|
||||
//=======================================================================
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="custom_props"
|
||||
>
|
||||
<UserMacro
|
||||
Name="PHVERSION"
|
||||
Value=""1,16,5,3""
|
||||
PerformEnvironmentSet="true"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PHDOTVERSION"
|
||||
Value=""1.16.5.3""
|
||||
PerformEnvironmentSet="true"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,74 @@
|
||||
// ====== compiler un .rc avec C++ 2008
|
||||
|
||||
clic-droit / propri<72>t<EFBFBD>s sur phrasea2.rc dans le projet
|
||||
resources/g<>n<EFBFBD>ral/autre rep. include :
|
||||
|
||||
"C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include";./res
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ====== changer automatiquement le num de version dans le .rc
|
||||
|
||||
dans 'gestionnaire de propri<72>t<EFBFBD>s' / 'custom props' / 'macros utilisateur'
|
||||
clic-droit sur le nom du projet / ajouter une feulle de propri<72>t<EFBFBD>s de projet : nom=customprops
|
||||
|
||||
ouvrir customprops, puis dans 'propri<72>t<EFBFBD>c communes' / 'macros utilisateurs', ajouter
|
||||
PHVERSION = x,y,z,t
|
||||
PDOTVERSION = x.y.z.t
|
||||
|
||||
|
||||
dans 'propri<72>t<EFBFBD>s du projet' (alt+F7) / 'propri<72>t<EFBFBD>s de configuration'
|
||||
dans 'c/c++' / 'd<>finitions du pr<70>processeur' : ajouter
|
||||
PHVERSION=$(PHVERSION)
|
||||
PHDOTVERSION=$(PHDOTVERSION)
|
||||
dans 'ressources' / 'd<>finitions du pr<70>processeur' : ajouter
|
||||
PHVERSION=$(PHVERSION)
|
||||
PHDOTVERSION=$(PHDOTVERSION)
|
||||
|
||||
dans _version.h :
|
||||
|
||||
//======================== _WIN32 (visual C++ 2008) : ===================
|
||||
//
|
||||
// le num<75>ro de version est d<>fini dans l'onglet
|
||||
// 'gestionnaire de propri<72>t<EFBFBD>s' / 'custom props' / 'macros utilisateur'
|
||||
//
|
||||
// ATTENTION : en cas de changement de version, forcer la recompilation
|
||||
// de phrasea2.rc avant de recompiler le projet
|
||||
//
|
||||
#define QUOTE(x) _QUOTE(x)
|
||||
#define _QUOTE(a) #a
|
||||
//
|
||||
//=======================================================================
|
||||
//============= _DEBIAN ; _GENTOO ; _OS-X_10.4_i386 : ==================
|
||||
//
|
||||
// le num<75>ro de version est d<>fini ici :
|
||||
//
|
||||
#ifndef PHDOTVERSION
|
||||
#define PHDOTVERSION x.y.z.t
|
||||
#endif
|
||||
//
|
||||
//=======================================================================
|
||||
|
||||
|
||||
|
||||
dans le .rc (<28>diter comme text)
|
||||
|
||||
#include "..\..\src\_version.h"
|
||||
....
|
||||
FILEVERSION PHVERSION // PHVERSION : d<>fini dans macro utilisateurs
|
||||
PRODUCTVERSION PHVERSION // PHVERSION : d<>fini dans macro utilisateurs
|
||||
....
|
||||
VALUE "FileVersion", QUOTE(PHDOTVERSION) // PHDOTVERSION : d<>fini dans macro utilisateurs
|
||||
....
|
||||
VALUE "ProductVersion", QUOTE(PHDOTVERSION) // PHDOTVERSION : d<>fini dans macro utilisateurs
|
||||
....
|
||||
|
||||
|
||||
|
||||
// ======= changer le nom du fichier g<>n<EFBFBD>r<EFBFBD> en fonction de la version
|
||||
|
||||
dans 'propri<72>t<EFBFBD>s du projet' / '<27>diteur de liens' / 'g<>n<EFBFBD>ral' / 'fichier de sortie'
|
||||
|
||||
.\$(OutDir)/php_phrasea2_UTF-8_$(PHDOTVERSION).dll
|
BIN
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.ncb
Normal file
BIN
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.ncb
Normal file
Binary file not shown.
23
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.sln
Normal file
23
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.sln
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual C++ Express 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "phrasea2", "phrasea2.vcproj", "{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release_TS_UTF-8|Win32 = Release_TS_UTF-8|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Debug|Win32.ActiveCfg = Release_TS_UTF-8|Win32
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Debug|Win32.Build.0 = Release_TS_UTF-8|Win32
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Release_TS_UTF-8|Win32.ActiveCfg = Release_TS_UTF-8|Win32
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Release_TS_UTF-8|Win32.Build.0 = Release_TS_UTF-8|Win32
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Release|Win32.ActiveCfg = Release_TS_UTF-8|Win32
|
||||
{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}.Release|Win32.Build.0 = Release_TS_UTF-8|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
BIN
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.suo
Normal file
BIN
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.suo
Normal file
Binary file not shown.
403
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.vcproj
Normal file
403
bin/src/php_phrasea2/_WIN32 (visual C++ 2008)/phrasea2.vcproj
Normal file
@@ -0,0 +1,403 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="phrasea2"
|
||||
ProjectGUID="{8EFB3641-2E3F-4E6E-A0BD-BD04537AC633}"
|
||||
RootNamespace="phrasea2"
|
||||
TargetFrameworkVersion="0"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release_TS|Win32"
|
||||
OutputDirectory=".\Release_TS"
|
||||
IntermediateDirectory=".\Release_TS"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops;.\custom_props.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release_TS/phrasea2.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories=""C:\php-5.2.13";"C:\php-5.2.13\main";"C:\php-5.2.13\Zend";"C:\php-5.2.13\TSRM";C:\mysql\include"
|
||||
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;TRACE_ERAM=0;_USE_32BIT_TIME_T;ZEND_DEBUG=0;ZTS;PHRASEA2_EXPORTS;COMPILE_DL_PHRASEA2;HAVE_PHRSEA2=1;WIN32;_WINDOWS;_USRDLL;ZEND_WIN32;PHP_WIN32;PHVERSION=$(PHVERSION);PHDOTVERSION=$(PHDOTVERSION)"
|
||||
IgnoreStandardIncludePath="false"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\$(OutDir)/phrasea2.pch"
|
||||
AssemblerListingLocation=".\$(OutDir)/"
|
||||
ObjectFile=".\$(OutDir)/"
|
||||
ProgramDataBaseFileName=".\$(OutDir)/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libmySQL.lib php5ts.lib"
|
||||
ShowProgress="0"
|
||||
OutputFile=".\$(OutDir)/php_phrasea2_$(PHDOTVERSION).dll"
|
||||
Version="$(PHDOTVERSION)"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="c:\mysql\lib\opt,C:\php\dev"
|
||||
ProgramDatabaseFile="$(OutDir)/php_mysql.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary=".\$(OutDir)/php_phrasea2.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\$(OutDir)/phrasea2.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="copy de la dll dans php"
|
||||
CommandLine="copy $(OutDir)\$(TargetFileName) c:\php\ext\$(TargetFileName)
copy $(OutDir)\$(TargetFileName) c:\php\ext\php_phrasea2.dll
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
OutputDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops;.\custom_props.vsprops"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine=""
|
||||
ExcludedFromBuild="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
MkTypLibCompatible="true"
|
||||
SuppressStartupBanner="true"
|
||||
TargetEnvironment="1"
|
||||
TypeLibraryName=".\Release_TS/phrasea2.tlb"
|
||||
HeaderFileName=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
AdditionalIncludeDirectories=""C:\php-5.2.13";"C:\php-5.2.13\main";"C:\php-5.2.13\Zend";"C:\php-5.2.13\TSRM";C:\mysql\include"
|
||||
PreprocessorDefinitions="_CRT_SECURE_NO_WARNINGS;TRACE_ERAM=0;_USE_32BIT_TIME_T;ZEND_DEBUG=0;ZTS;PHRASEA2_EXPORTS;COMPILE_DL_PHRASEA2;HAVE_PHRSEA2=1;WIN32;_WINDOWS;_USRDLL;ZEND_WIN32;PHP_WIN32;PHVERSION=$(PHVERSION);PHDOTVERSION=$(PHDOTVERSION);MYSQLENCODE=utf8;noPHP_COMPILER_ID=",VC6""
|
||||
IgnoreStandardIncludePath="false"
|
||||
StringPooling="true"
|
||||
RuntimeLibrary="2"
|
||||
EnableFunctionLevelLinking="true"
|
||||
PrecompiledHeaderFile=".\$(OutDir)/phrasea2.pch"
|
||||
AssemblerListingLocation=".\$(OutDir)/"
|
||||
ObjectFile=".\$(OutDir)/"
|
||||
ProgramDataBaseFileName=".\$(OutDir)/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
Culture="0"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libmySQL.lib php5ts.lib"
|
||||
ShowProgress="0"
|
||||
OutputFile=".\$(OutDir)/php_phrasea2_UTF-8_$(PHDOTVERSION).dll"
|
||||
Version="$(PHDOTVERSION)"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="c:\mysql\lib\opt;"C:\php-5.3.3-Win32-VC6-x86\dev""
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
ProgramDatabaseFile="$(OutDir)/php_mysql.pdb"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary=".\$(OutDir)/php_phrasea2.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
SuppressStartupBanner="true"
|
||||
OutputFile=".\$(OutDir)/phrasea2.bsc"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="copy de la dll dans php"
|
||||
CommandLine="copy $(OutDir)\$(TargetFileName) c:\php\ext\$(TargetFileName)
copy $(OutDir)\$(TargetFileName) c:\php\ext\php_phrasea2.dll
"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\phrasea2.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\_TIME.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\_VERSION.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\php_phrasea2.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\important pour resources (.rc).txt"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\php_phrasea2\phrasea2.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release_TS|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;PHVERSION=$(PHVERSION);PHDOTVERSION=$(PHDOTVERSION)"
|
||||
Culture="0"
|
||||
AdditionalIncludeDirectories=""C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include";./res"
|
||||
ShowProgress="true"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;PHVERSION=$(PHVERSION);PHDOTVERSION=$(PHDOTVERSION)"
|
||||
Culture="0"
|
||||
AdditionalIncludeDirectories=""C:\Program Files\Microsoft Visual Studio\VC98\MFC\Include";./res"
|
||||
ShowProgress="true"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\php_phrasea2\resource.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="phrasea_engine"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\base_header.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\cache.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\cache.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\emptyw.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\fetchresults.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\grouping.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\phrasea_clock_t.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\phrasea_clock_t.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\phrasea_engine.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\phrasea_types.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\phrasea_utils_win.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\qtree.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\query.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\session.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\sql.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\sql.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\subdefs.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\trace_memory.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
ExcludedFromBuild="true"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\trace_memory.h"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\utils.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\phrasea_engine\xmlcaption.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="libs"
|
||||
>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath="..\changelog.txt"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release_TS|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="PCJY"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="PCJY"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioUserFile
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
ShowAllFiles="false"
|
||||
>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Release_TS|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="VIRTUAL-PCJY"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release_TS_UTF-8|Win32"
|
||||
>
|
||||
<DebugSettings
|
||||
Command=""
|
||||
WorkingDirectory=""
|
||||
CommandArguments=""
|
||||
Attach="false"
|
||||
DebuggerType="3"
|
||||
Remote="1"
|
||||
RemoteMachine="VIRTUAL-PCJY"
|
||||
RemoteCommand=""
|
||||
HttpUrl=""
|
||||
PDBPath=""
|
||||
SQLDebugging=""
|
||||
Environment=""
|
||||
EnvironmentMerge="true"
|
||||
DebuggerFlavor=""
|
||||
MPIRunCommand=""
|
||||
MPIRunArguments=""
|
||||
MPIRunWorkingDirectory=""
|
||||
ApplicationCommand=""
|
||||
ApplicationArguments=""
|
||||
ShimCommand=""
|
||||
MPIAcceptMode=""
|
||||
MPIAcceptFilter=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
</VisualStudioUserFile>
|
9
bin/src/php_phrasea2/___HOWTOBUILD___.txt
Normal file
9
bin/src/php_phrasea2/___HOWTOBUILD___.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
linux :
|
||||
./configure
|
||||
make
|
||||
make test
|
||||
sudo make install
|
||||
|
||||
nb :
|
||||
DON'T do 'phpize' before configure !
|
||||
make test MAY FAIL, even if the builded extension is ok after install
|
2874
bin/src/php_phrasea2/acinclude.m4
Normal file
2874
bin/src/php_phrasea2/acinclude.m4
Normal file
File diff suppressed because it is too large
Load Diff
7980
bin/src/php_phrasea2/aclocal.m4
vendored
Normal file
7980
bin/src/php_phrasea2/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7376
bin/src/php_phrasea2/build/libtool.m4
vendored
Normal file
7376
bin/src/php_phrasea2/build/libtool.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
368
bin/src/php_phrasea2/build/ltoptions.m4
vendored
Normal file
368
bin/src/php_phrasea2/build/ltoptions.m4
vendored
Normal file
@@ -0,0 +1,368 @@
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 6 ltoptions.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
|
||||
|
||||
|
||||
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ------------------------------------------
|
||||
m4_define([_LT_MANGLE_OPTION],
|
||||
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
|
||||
# ---------------------------------------
|
||||
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
|
||||
# matching handler defined, dispatch to it. Other OPTION-NAMEs are
|
||||
# saved as a flag.
|
||||
m4_define([_LT_SET_OPTION],
|
||||
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
|
||||
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
_LT_MANGLE_DEFUN([$1], [$2]),
|
||||
[m4_warning([Unknown $1 option `$2'])])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
|
||||
# ------------------------------------------------------------
|
||||
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
|
||||
m4_define([_LT_IF_OPTION],
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
|
||||
|
||||
|
||||
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
|
||||
# -------------------------------------------------------
|
||||
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
|
||||
# are set.
|
||||
m4_define([_LT_UNLESS_OPTIONS],
|
||||
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
|
||||
[m4_define([$0_found])])])[]dnl
|
||||
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
|
||||
])[]dnl
|
||||
])
|
||||
|
||||
|
||||
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
|
||||
# ----------------------------------------
|
||||
# OPTION-LIST is a space-separated list of Libtool options associated
|
||||
# with MACRO-NAME. If any OPTION has a matching handler declared with
|
||||
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
|
||||
# the unknown option and exit.
|
||||
m4_defun([_LT_SET_OPTIONS],
|
||||
[# Set options
|
||||
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
|
||||
[_LT_SET_OPTION([$1], _LT_Option)])
|
||||
|
||||
m4_if([$1],[LT_INIT],[
|
||||
dnl
|
||||
dnl Simply set some default values (i.e off) if boolean options were not
|
||||
dnl specified:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
|
||||
])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
|
||||
])
|
||||
dnl
|
||||
dnl If no reference was made to various pairs of opposing options, then
|
||||
dnl we run the default mode handler for the pair. For example, if neither
|
||||
dnl `shared' nor `disable-shared' was passed, we enable building of shared
|
||||
dnl archives by default:
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
|
||||
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
|
||||
[_LT_ENABLE_FAST_INSTALL])
|
||||
])
|
||||
])# _LT_SET_OPTIONS
|
||||
|
||||
|
||||
## --------------------------------- ##
|
||||
## Macros to handle LT_INIT options. ##
|
||||
## --------------------------------- ##
|
||||
|
||||
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
|
||||
# -----------------------------------------
|
||||
m4_define([_LT_MANGLE_DEFUN],
|
||||
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
|
||||
|
||||
|
||||
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
|
||||
# -----------------------------------------------
|
||||
m4_define([LT_OPTION_DEFINE],
|
||||
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
|
||||
])# LT_OPTION_DEFINE
|
||||
|
||||
|
||||
# dlopen
|
||||
# ------
|
||||
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_DLOPEN],
|
||||
[_LT_SET_OPTION([LT_INIT], [dlopen])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `dlopen' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
|
||||
|
||||
|
||||
# win32-dll
|
||||
# ---------
|
||||
# Declare package support for building win32 dll's.
|
||||
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
|
||||
[enable_win32_dll=yes
|
||||
|
||||
case $host in
|
||||
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
|
||||
AC_CHECK_TOOL(AS, as, false)
|
||||
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
|
||||
AC_CHECK_TOOL(OBJDUMP, objdump, false)
|
||||
;;
|
||||
esac
|
||||
|
||||
test -z "$AS" && AS=as
|
||||
_LT_DECL([], [AS], [0], [Assembler program])dnl
|
||||
|
||||
test -z "$DLLTOOL" && DLLTOOL=dlltool
|
||||
_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
|
||||
|
||||
test -z "$OBJDUMP" && OBJDUMP=objdump
|
||||
_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
|
||||
])# win32-dll
|
||||
|
||||
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
|
||||
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
_LT_SET_OPTION([LT_INIT], [win32-dll])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `win32-dll' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
|
||||
|
||||
|
||||
# _LT_ENABLE_SHARED([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-shared flag, and supports the `shared' and
|
||||
# `disable-shared' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_SHARED],
|
||||
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([shared],
|
||||
[AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
|
||||
[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_shared=yes ;;
|
||||
no) enable_shared=no ;;
|
||||
*)
|
||||
enable_shared=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_shared=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
|
||||
|
||||
_LT_DECL([build_libtool_libs], [enable_shared], [0],
|
||||
[Whether or not to build shared libraries])
|
||||
])# _LT_ENABLE_SHARED
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_SHARED],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-shared])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
|
||||
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_STATIC([DEFAULT])
|
||||
# ----------------------------
|
||||
# implement the --enable-static flag, and support the `static' and
|
||||
# `disable-static' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_STATIC],
|
||||
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([static],
|
||||
[AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
|
||||
[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_static=yes ;;
|
||||
no) enable_static=no ;;
|
||||
*)
|
||||
enable_static=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_static=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
|
||||
|
||||
_LT_DECL([build_old_libs], [enable_static], [0],
|
||||
[Whether or not to build static libraries])
|
||||
])# _LT_ENABLE_STATIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
|
||||
|
||||
# Old names:
|
||||
AC_DEFUN([AC_ENABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
|
||||
])
|
||||
|
||||
AC_DEFUN([AC_DISABLE_STATIC],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-static])
|
||||
])
|
||||
|
||||
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
|
||||
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
|
||||
|
||||
|
||||
|
||||
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
|
||||
# ----------------------------------
|
||||
# implement the --enable-fast-install flag, and support the `fast-install'
|
||||
# and `disable-fast-install' LT_INIT options.
|
||||
# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
|
||||
m4_define([_LT_ENABLE_FAST_INSTALL],
|
||||
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
|
||||
AC_ARG_ENABLE([fast-install],
|
||||
[AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
|
||||
[optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
|
||||
[p=${PACKAGE-default}
|
||||
case $enableval in
|
||||
yes) enable_fast_install=yes ;;
|
||||
no) enable_fast_install=no ;;
|
||||
*)
|
||||
enable_fast_install=no
|
||||
# Look at the argument we got. We use all the common list separators.
|
||||
lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
|
||||
for pkg in $enableval; do
|
||||
IFS="$lt_save_ifs"
|
||||
if test "X$pkg" = "X$p"; then
|
||||
enable_fast_install=yes
|
||||
fi
|
||||
done
|
||||
IFS="$lt_save_ifs"
|
||||
;;
|
||||
esac],
|
||||
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
|
||||
|
||||
_LT_DECL([fast_install], [enable_fast_install], [0],
|
||||
[Whether or not to optimize for fast installation])dnl
|
||||
])# _LT_ENABLE_FAST_INSTALL
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
|
||||
|
||||
# Old names:
|
||||
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
|
||||
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
|
||||
the `disable-fast-install' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
|
||||
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
|
||||
|
||||
|
||||
# _LT_WITH_PIC([MODE])
|
||||
# --------------------
|
||||
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
|
||||
# LT_INIT options.
|
||||
# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
|
||||
m4_define([_LT_WITH_PIC],
|
||||
[AC_ARG_WITH([pic],
|
||||
[AS_HELP_STRING([--with-pic],
|
||||
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
|
||||
[pic_mode="$withval"],
|
||||
[pic_mode=default])
|
||||
|
||||
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
|
||||
|
||||
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
|
||||
])# _LT_WITH_PIC
|
||||
|
||||
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
|
||||
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
|
||||
|
||||
# Old name:
|
||||
AU_DEFUN([AC_LIBTOOL_PICMODE],
|
||||
[_LT_SET_OPTION([LT_INIT], [pic-only])
|
||||
AC_DIAGNOSE([obsolete],
|
||||
[$0: Remove this warning and the call to _LT_SET_OPTION when you
|
||||
put the `pic-only' option into LT_INIT's first parameter.])
|
||||
])
|
||||
|
||||
dnl aclocal-1.4 backwards compatibility:
|
||||
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
|
||||
|
||||
## ----------------- ##
|
||||
## LTDL_INIT Options ##
|
||||
## ----------------- ##
|
||||
|
||||
m4_define([_LTDL_MODE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
|
||||
[m4_define([_LTDL_MODE], [nonrecursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
|
||||
[m4_define([_LTDL_MODE], [recursive])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
|
||||
[m4_define([_LTDL_MODE], [subproject])])
|
||||
|
||||
m4_define([_LTDL_TYPE], [])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [installable],
|
||||
[m4_define([_LTDL_TYPE], [installable])])
|
||||
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
|
||||
[m4_define([_LTDL_TYPE], [convenience])])
|
123
bin/src/php_phrasea2/build/ltsugar.m4
vendored
Normal file
123
bin/src/php_phrasea2/build/ltsugar.m4
vendored
Normal file
@@ -0,0 +1,123 @@
|
||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 6 ltsugar.m4
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
|
||||
|
||||
|
||||
# lt_join(SEP, ARG1, [ARG2...])
|
||||
# -----------------------------
|
||||
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
|
||||
# associated separator.
|
||||
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
|
||||
# versions in m4sugar had bugs.
|
||||
m4_define([lt_join],
|
||||
[m4_if([$#], [1], [],
|
||||
[$#], [2], [[$2]],
|
||||
[m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
m4_define([_lt_join],
|
||||
[m4_if([$#$2], [2], [],
|
||||
[m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
|
||||
|
||||
|
||||
# lt_car(LIST)
|
||||
# lt_cdr(LIST)
|
||||
# ------------
|
||||
# Manipulate m4 lists.
|
||||
# These macros are necessary as long as will still need to support
|
||||
# Autoconf-2.59 which quotes differently.
|
||||
m4_define([lt_car], [[$1]])
|
||||
m4_define([lt_cdr],
|
||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||
[$#], 1, [],
|
||||
[m4_dquote(m4_shift($@))])])
|
||||
m4_define([lt_unquote], $1)
|
||||
|
||||
|
||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||
# ------------------------------------------
|
||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
||||
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
|
||||
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||
# than defined and empty).
|
||||
#
|
||||
# This macro is needed until we can rely on Autoconf 2.62, since earlier
|
||||
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
|
||||
m4_define([lt_append],
|
||||
[m4_define([$1],
|
||||
m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
|
||||
|
||||
|
||||
|
||||
# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
|
||||
# ----------------------------------------------------------
|
||||
# Produce a SEP delimited list of all paired combinations of elements of
|
||||
# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
|
||||
# has the form PREFIXmINFIXSUFFIXn.
|
||||
# Needed until we can rely on m4_combine added in Autoconf 2.62.
|
||||
m4_define([lt_combine],
|
||||
[m4_if(m4_eval([$# > 3]), [1],
|
||||
[m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
|
||||
[[m4_foreach([_Lt_prefix], [$2],
|
||||
[m4_foreach([_Lt_suffix],
|
||||
]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
|
||||
[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
|
||||
|
||||
|
||||
# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
|
||||
# -----------------------------------------------------------------------
|
||||
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
|
||||
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
|
||||
m4_define([lt_if_append_uniq],
|
||||
[m4_ifdef([$1],
|
||||
[m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
|
||||
[lt_append([$1], [$2], [$3])$4],
|
||||
[$5])],
|
||||
[lt_append([$1], [$2], [$3])$4])])
|
||||
|
||||
|
||||
# lt_dict_add(DICT, KEY, VALUE)
|
||||
# -----------------------------
|
||||
m4_define([lt_dict_add],
|
||||
[m4_define([$1($2)], [$3])])
|
||||
|
||||
|
||||
# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
|
||||
# --------------------------------------------
|
||||
m4_define([lt_dict_add_subkey],
|
||||
[m4_define([$1($2:$3)], [$4])])
|
||||
|
||||
|
||||
# lt_dict_fetch(DICT, KEY, [SUBKEY])
|
||||
# ----------------------------------
|
||||
m4_define([lt_dict_fetch],
|
||||
[m4_ifval([$3],
|
||||
m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
|
||||
m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
|
||||
|
||||
|
||||
# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
|
||||
# -----------------------------------------------------------------
|
||||
m4_define([lt_if_dict_fetch],
|
||||
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
|
||||
[$5],
|
||||
[$6])])
|
||||
|
||||
|
||||
# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
|
||||
# --------------------------------------------------------------
|
||||
m4_define([lt_dict_filter],
|
||||
[m4_if([$5], [], [],
|
||||
[lt_join(m4_quote(m4_default([$4], [[, ]])),
|
||||
lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
|
||||
[lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
|
||||
])
|
23
bin/src/php_phrasea2/build/ltversion.m4
vendored
Normal file
23
bin/src/php_phrasea2/build/ltversion.m4
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# 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.
|
||||
|
||||
# Generated from ltversion.in.
|
||||
|
||||
# serial 3012 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.2.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [1.3012])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.2.6'
|
||||
macro_revision='1.3012'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
92
bin/src/php_phrasea2/build/lt~obsolete.m4
vendored
Normal file
92
bin/src/php_phrasea2/build/lt~obsolete.m4
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# 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.
|
||||
|
||||
# serial 4 lt~obsolete.m4
|
||||
|
||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||
#
|
||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
||||
# which have later been changed to m4_define as they aren't part of the
|
||||
# exported API, or moved to Autoconf or Automake where they belong.
|
||||
#
|
||||
# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
|
||||
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
|
||||
# using a macro with the same name in our local m4/libtool.m4 it'll
|
||||
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
|
||||
# and doesn't know about Autoconf macros at all.)
|
||||
#
|
||||
# So we provide this file, which has a silly filename so it's always
|
||||
# included after everything else. This provides aclocal with the
|
||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||
# because those macros already exist, or will be overwritten later.
|
||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
||||
#
|
||||
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
|
||||
# Yes, that means every name once taken will need to remain here until
|
||||
# we give up compatibility with versions before 1.7, at which point
|
||||
# we need to keep only those names which we still refer to.
|
||||
|
||||
# This is to help aclocal find these macros, as it can't see m4_define.
|
||||
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
|
||||
|
||||
m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
|
||||
m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
|
||||
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
|
||||
m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
|
||||
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
|
||||
m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
|
||||
m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
|
||||
m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
|
||||
m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
|
||||
m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
|
||||
m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
|
||||
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
|
||||
m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
|
||||
m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
|
||||
m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
|
||||
m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
|
||||
m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
|
||||
m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
|
||||
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
|
||||
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
|
||||
m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
|
||||
m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
|
||||
m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
|
||||
m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
|
||||
m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
|
||||
m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
|
||||
m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
|
||||
m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
|
||||
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
|
||||
m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
|
||||
m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
|
||||
m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
|
||||
m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
|
||||
m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
|
||||
m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
|
||||
m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
|
75
bin/src/php_phrasea2/build/mkdep.awk
Normal file
75
bin/src/php_phrasea2/build/mkdep.awk
Normal file
@@ -0,0 +1,75 @@
|
||||
# +----------------------------------------------------------------------+
|
||||
# | PHP Version 5 |
|
||||
# +----------------------------------------------------------------------+
|
||||
# | Copyright (c) 2000-2006 The PHP Group |
|
||||
# +----------------------------------------------------------------------+
|
||||
# | This source file is subject to version 3.01 of the PHP license, |
|
||||
# | that is bundled with this package in the file LICENSE, and is |
|
||||
# | available through the world-wide-web at the following url: |
|
||||
# | http://www.php.net/license/3_01.txt |
|
||||
# | If you did not receive a copy of the PHP license and are unable to |
|
||||
# | obtain it through the world-wide-web, please send a note to |
|
||||
# | license@php.net so we can mail you a copy immediately. |
|
||||
# +----------------------------------------------------------------------+
|
||||
# | Author: Sascha Schumann <sascha@schumann.cx> |
|
||||
# +----------------------------------------------------------------------+
|
||||
#
|
||||
# $Id: mkdep.awk,v 1.8.2.1 2006/01/01 12:50:00 sniper Exp $
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# echo top_srcdir top_builddir srcdir CPP [CPP-ARGS] filenames | \
|
||||
# awk -f mkdep.awk > dependencies
|
||||
|
||||
|
||||
{
|
||||
top_srcdir=$1
|
||||
top_builddir=$2
|
||||
srcdir=$3
|
||||
cmd=$4
|
||||
|
||||
for (i = 5; i <= NF; i++) {
|
||||
if (match($i, "^-[A-Z]") == 0)
|
||||
break;
|
||||
cmd=cmd " " $i
|
||||
}
|
||||
|
||||
dif=i-1
|
||||
|
||||
for (; i <= NF; i++)
|
||||
filenames[i-dif]=$i
|
||||
|
||||
no_files=NF-dif
|
||||
|
||||
for(i = 1; i <= no_files; i++) {
|
||||
if (system("test -r " filenames[i]) != 0)
|
||||
continue
|
||||
|
||||
target=filenames[i]
|
||||
sub(srcdir "/", "", target)
|
||||
target2=target
|
||||
sub("\.(c|cpp)$", ".lo", target);
|
||||
sub("\.(c|cpp)$", ".slo", target2);
|
||||
|
||||
for (e in used)
|
||||
delete used[e]
|
||||
|
||||
cmdx=cmd " " filenames[i]
|
||||
done=0
|
||||
while ((cmdx | getline) > 0) {
|
||||
if (match($0, "^# [0-9]* \".*\.h\"") != 0) {
|
||||
if (sub(top_srcdir, "$(top_srcdir)", $3) == 0)
|
||||
sub(top_builddir, "$(top_builddir)", $3)
|
||||
if (substr($3,2,1) != "/" && used[$3] != 1) {
|
||||
if (done == 0)
|
||||
printf(target " " target2 ":")
|
||||
done=1
|
||||
printf(" \\\n\t" substr($3,2,length($3)-2))
|
||||
used[$3] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (done == 1)
|
||||
print "\n"
|
||||
}
|
||||
}
|
32
bin/src/php_phrasea2/build/scan_makefile_in.awk
Normal file
32
bin/src/php_phrasea2/build/scan_makefile_in.awk
Normal file
@@ -0,0 +1,32 @@
|
||||
BEGIN {
|
||||
mode=0
|
||||
sources=""
|
||||
}
|
||||
|
||||
mode == 0 && /^LTLIBRARY_SOURCES.*\\$/ {
|
||||
if (match($0, "[^=]*$")) {
|
||||
sources=substr($0, RSTART, RLENGTH-1)
|
||||
}
|
||||
mode=1
|
||||
next
|
||||
}
|
||||
|
||||
mode == 0 && /^LTLIBRARY_SOURCES.*/ {
|
||||
if (match($0, "[^=]*$")) {
|
||||
sources=substr($0, RSTART, RLENGTH)
|
||||
}
|
||||
}
|
||||
|
||||
mode == 1 && /.*\\$/ {
|
||||
sources=sources substr($0, 0, length - 1)
|
||||
next
|
||||
}
|
||||
|
||||
mode == 1 {
|
||||
sources=sources $0
|
||||
mode=0
|
||||
}
|
||||
|
||||
END {
|
||||
print sources
|
||||
}
|
4083
bin/src/php_phrasea2/build/shtool
Executable file
4083
bin/src/php_phrasea2/build/shtool
Executable file
File diff suppressed because it is too large
Load Diff
153
bin/src/php_phrasea2/changelog.txt
Normal file
153
bin/src/php_phrasea2/changelog.txt
Normal file
@@ -0,0 +1,153 @@
|
||||
1.16.5.4
|
||||
Improvement : uuid functions
|
||||
|
||||
1.16.5.3
|
||||
fix : crash on win32/multibases
|
||||
cause : ftell returns 0 after fopen("x", "ab"), even if the file is not empty
|
||||
|
||||
|
||||
1.16.5.2
|
||||
fix : order of answers was sometimes 'random'
|
||||
|
||||
1.16.5.1
|
||||
fix : searching of duplicates search only on selected collections, respecting status bits
|
||||
(no duplicates found in another collection or on hidden doc)
|
||||
change : duplicates are search ACROSS selected collections
|
||||
|
||||
|
||||
1.16.5.0
|
||||
fix memory error in 1.16.4.1
|
||||
new function : phrasea_info()
|
||||
|
||||
|
||||
1.16.4.1
|
||||
fixed for win32 : system temp dir used for cache
|
||||
|
||||
|
||||
1.16.4.0
|
||||
added special query "sha256=sha256" to find duplicates
|
||||
|
||||
|
||||
1.16.3.0
|
||||
restore compile under windows
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
1.16.2.1
|
||||
fixed : queries (thumbnail=0, preview=1 etc...) were broken
|
||||
|
||||
|
||||
1.16.2.0
|
||||
added 'recordtype' pseudo-field (matched against the record.type field)
|
||||
|
||||
|
||||
1.16.1.0
|
||||
standard build process under linux (ubuntu ok):
|
||||
./configure ; make ; make test ; make install
|
||||
beware : relocation of files
|
||||
BEWARE !!! :
|
||||
no more build w32/mac from now
|
||||
the filename is always 'phrasea2.so' (no more version number included)
|
||||
TODO :
|
||||
restore build under other os...
|
||||
|
||||
FROM HERE, WIN32 & OSX build is (temporaly) disabled
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
|
||||
1.16.0.1
|
||||
multi-sites ok (cache filenames have host+port+dbname from l'appbox, + session_id)
|
||||
TODO :
|
||||
how to change the cache dir (/tmp is hardcoded)
|
||||
|
||||
|
||||
1.16.0.0
|
||||
writing cache in /tmp (not in sql anymore)
|
||||
adding chronos
|
||||
BEWARE :
|
||||
changing return of phrasea_fetch_results(...) :
|
||||
before : array of results
|
||||
now : assoc array, results in $ret['results']
|
||||
TODO :
|
||||
how to change the cache dir (/tmp is hardcoded)
|
||||
enable multi-sites (now conflicting filenames in cache dir)
|
||||
|
||||
|
||||
1.15.0.3
|
||||
adding chronos in sql requests
|
||||
|
||||
|
||||
1.15.0.2
|
||||
remove(again) "order by coll_id" : results are returned with no regards of collections
|
||||
side effect : "last 12" returns last 12 documents in the base (not the last 12 of each collection on the base) : much faster
|
||||
|
||||
|
||||
1.15.0.1
|
||||
restore "order by coll_id" (else bug AND/OR...)
|
||||
TODO : how to return results ordered by coll_id
|
||||
|
||||
|
||||
1.15.0.0
|
||||
changing structure of table pref (dbbox)
|
||||
|
||||
|
||||
1.14.12.2
|
||||
correcting bug "canary mismatch"
|
||||
enhancement of the UBUNTU compile script :
|
||||
removing "warning: deprecated conversion from string constant to 'char*'" (gcc option -Wno-write-strings)
|
||||
|
||||
|
||||
1.14.12.1
|
||||
save session(...) in prepared stmt
|
||||
removing posgresql code
|
||||
cleaning
|
||||
|
||||
|
||||
1.14.12.0
|
||||
can run as module.
|
||||
phrasea_conn MUST receive those parms from appbox :
|
||||
host, port, user, password, dbname
|
||||
those parms are not anymore in php.ini, so phpinfo() DOES NO CHECK CONNECTION ANYMORE
|
||||
|
||||
|
||||
1.14.11.0
|
||||
remove thesaurus from session/bases
|
||||
add the 'sha256' field into return of phrasea_subdefs(...)
|
||||
|
||||
|
||||
1.14.10.0
|
||||
change in parms of function 'phrasea_query2' : bas_id replaced by sbas_id
|
||||
|
||||
|
||||
1.14.9.1
|
||||
correcting crash in function "phrasea_grpforselection(...)"
|
||||
|
||||
|
||||
1.14.9.0
|
||||
results are returned folowing the order set in table collusr
|
||||
the field 'ord' of table 'collusr' MUST be numbered from 1 to n
|
||||
|
||||
|
||||
1.14.8.2
|
||||
restore version number into resources of windows version (lost in previous commit)
|
||||
|
||||
|
||||
1.14.8.1
|
||||
display version number and sql encoding in phpinfo()
|
||||
|
||||
|
||||
1.14.8.0
|
||||
cleaning
|
||||
|
||||
|
||||
1.14.7.0
|
||||
add user_id in sessions
|
||||
-> new php fct : 'php_create_session(...)'
|
||||
|
||||
|
||||
1.14.6.3
|
||||
mysql connection in compressed mode
|
||||
|
||||
|
||||
|
||||
|
117
bin/src/php_phrasea2/compil-utf8.bash
Executable file
117
bin/src/php_phrasea2/compil-utf8.bash
Executable file
@@ -0,0 +1,117 @@
|
||||
#!/bin/sh
|
||||
|
||||
# ---------------- VARIABLES A CONFIGURER --------------
|
||||
|
||||
|
||||
PHP5="/usr"
|
||||
mysql="/usr/include/mysql"
|
||||
libMysql="/usr/lib/mysql"
|
||||
|
||||
apache_module="/usr/lib/apache2/modules"
|
||||
|
||||
extensiondir="/usr/lib/php5/20060613+lfs"
|
||||
|
||||
# ------------ FIN DES VARIABLES A CONFIGURER -----------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
phpinclude="$PHP5/include/php5"
|
||||
main="$phpinclude/main"
|
||||
Zend="$phpinclude/Zend"
|
||||
TSRM="$phpinclude/TSRM"
|
||||
regex="$phpinclude/regex"
|
||||
|
||||
version=`cat ./_VERSION.h | egrep -e "#define[[:blank:]]*PHDOTVERSION" | tr -d '\r' | sed -e "s/#define[[:blank:]]*PHDOTVERSION[[:blank:]]*\(.*\)[[:space:]]*$/\1/"`
|
||||
outfile=php_phrasea2-utf8_`echo $version`.so
|
||||
|
||||
echo
|
||||
echo ================================================
|
||||
echo version : $version
|
||||
echo outfile : $outfile
|
||||
echo ================================================
|
||||
|
||||
|
||||
curdir=`pwd`
|
||||
listofiles=""
|
||||
|
||||
rm -R out
|
||||
mkdir out
|
||||
|
||||
echo
|
||||
echo "=========== Compilation des sources dans ../phrasea_engine ..."
|
||||
cd ./phrasea_engine
|
||||
for file in *.cpp
|
||||
do
|
||||
basefile=`echo $file | cut -f1 -d "."`
|
||||
|
||||
listofiles=`echo $listofiles out/$basefile.o`
|
||||
if [ -e ${basefile}.cpp ]; then
|
||||
echo "Compilation du fichier [ $file ]"
|
||||
cmd="g++ -Wno-write-strings -fPIC -DCOMPILE_DL_PHRASEA2=1 -DMYSQLENCODE=utf8 -c -o $curdir/out/$basefile.o -x c++ $basefile.cpp -I/usr/include/ -I${phpinclude} -I${main} -I${Zend} -I${TSRM} -I${regex} -I${mysql}"
|
||||
#echo $cmd
|
||||
`$cmd`
|
||||
fi
|
||||
done
|
||||
|
||||
#echo $listofile
|
||||
|
||||
#exit
|
||||
|
||||
echo
|
||||
echo "=========== Compilation des sources dans ../php_phrasea2 ..."
|
||||
cd ..
|
||||
for file in *.cpp
|
||||
do
|
||||
basefile=`echo $file | cut -f1 -d "."`
|
||||
|
||||
listofiles=`echo $listofiles out/$basefile.o`
|
||||
if [ -e ${basefile}.cpp ]; then
|
||||
echo "Compilation du fichier [ $file ]"
|
||||
cmd="g++ -Wno-write-strings -fPIC -DCOMPILE_DL_PHRASEA2=1 -DMYSQLENCODE=utf8 -c -o $curdir/out/$basefile.o -x c++ $basefile.cpp -I/usr/include/ -I${phpinclude} -I${main} -I${Zend} -I${TSRM} -I${regex} -I${mysql}"
|
||||
#cmd="g++ -DCOMPILE_DL_PHRASEA2 -I. -I/home/gaulier/src/phrasea2 -DPHP_ATOM_INC -I/home/gaulier/src/phrasea2/include -I/home/gaulier/src/phrasea2/main -I/home/gaulier/src/phrasea2 -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/mysql -Wno-write-strings -DHAVE_CONFIG_H -g -O2 -c /home/gaulier/src/phrasea2/phrasea2.cpp -fPIC -DPIC -o .libs/phrasea2.o"
|
||||
#echo $cmd
|
||||
`$cmd`
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
cd $curdir
|
||||
if [ -e out/phrasea2.o ]; then
|
||||
echo
|
||||
echo "=========== Edition des liens..."
|
||||
|
||||
cmd="g++ -shared -flat_namespace -o ./out/$outfile $listofiles -lmysqlclient -L${libMysql} -L${apache_module}"
|
||||
cmd="g++ -shared $listofiles -Wl,-soname -Wl,phrasea2.so -o ./out/$outfile -lmysqlclient"
|
||||
echo $cmd
|
||||
`$cmd`
|
||||
|
||||
if [ -e ./out/$outfile ]; then
|
||||
|
||||
chmod 755 ./out/$outfile
|
||||
echo extension generee dans : $curdir/out/$outfile
|
||||
|
||||
# cp $curdir/php.ini $curdir/out/php.ini
|
||||
# sed s/_EXT_/$outfile/ $curdir/test.php > ./out/test.php
|
||||
|
||||
# echo
|
||||
# echo =========== execution de 'test.php' ===============
|
||||
# cd out
|
||||
# $PHP5/bin/php -c ./php.ini -f ./test.php
|
||||
# cd ..
|
||||
# echo ===================================================
|
||||
# echo
|
||||
|
||||
# cp ./out/$outfile $extensiondir/phrasea2.utf.so
|
||||
# cp ./out/$outfile $extensiondir/$outfile
|
||||
cp ./out/$outfile $extensiondir/phrasea2.so
|
||||
/etc/init.d/apache2 restart
|
||||
else
|
||||
echo
|
||||
echo "!!!!!!!!!!! Erreur de link"
|
||||
fi
|
||||
else
|
||||
echo
|
||||
echo "!!!!!!!!!!! Erreur de compilation"
|
||||
fi
|
1561
bin/src/php_phrasea2/config.guess
vendored
Executable file
1561
bin/src/php_phrasea2/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
62
bin/src/php_phrasea2/config.h.in
Normal file
62
bin/src/php_phrasea2/config.h.in
Normal file
@@ -0,0 +1,62 @@
|
||||
/* config.h.in. Generated from configure.in by autoheader. */
|
||||
|
||||
/* Whether to build phrasea2 as dynamic module */
|
||||
#undef COMPILE_DL_PHRASEA2
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||
*/
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
|
||||
#undef NO_MINUS_C_MINUS_O
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
155
bin/src/php_phrasea2/config.m4
Normal file
155
bin/src/php_phrasea2/config.m4
Normal file
@@ -0,0 +1,155 @@
|
||||
dnl $Id$
|
||||
dnl config.m4 for extension phrasea2
|
||||
|
||||
AC_DEFUN([MYSQL_LIB_CHK], [
|
||||
str="$MYSQL_DIR/$1/lib$MYSQL_LIBNAME.*"
|
||||
for j in `echo $str`; do
|
||||
if test -r $j; then
|
||||
MYSQL_LIB_DIR=$MYSQL_DIR/$1
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
|
||||
PHP_ARG_ENABLE(phrasea2, whether to enable phrasea2 support,
|
||||
[ --enable-phrasea2 Enable phrasea2 support])
|
||||
|
||||
dnl PHP_ARG_WITH(phrasea2, for phrasea2 support,
|
||||
dnl [ --with-phrasea2[=DIR] Include phrasea2 support. DIR is the phrasea2 base directory])
|
||||
|
||||
|
||||
if test "$PHP_PHRASEA2" != "no"; then
|
||||
dnl PHP_EXPAND_PATH($MYSQL_INCLUDE, MYSQL_INCLUDE)
|
||||
|
||||
PHRASEAVERSION=
|
||||
MYSQL_DIR=
|
||||
MYSQL_INC_DIR=
|
||||
PHP_LIBDIR=
|
||||
|
||||
dnl *************** get version ****************
|
||||
AC_MSG_CHECKING([================================================= phrasea extension version number])
|
||||
if test -r ./_VERSION.h; then
|
||||
PHRASEAVERSION=`cat ./_VERSION.h | egrep -e "#define[[:blank:]]*PHDOTVERSION" | tr -d '\r' | sed -e "s/#define[[:blank:]]*PHDOTVERSION[[:blank:]]*\(.*\)[[:space:]]*$/\1/"`
|
||||
AC_MSG_RESULT([$PHRASEAVERSION])
|
||||
else
|
||||
AC_MSG_ERROR([Cannot find file _VERSION.h])
|
||||
fi
|
||||
|
||||
dnl *************** search mysql includes dir ****************
|
||||
AC_MSG_CHECKING([MySQL includes dir])
|
||||
for i in $PHP_PHRASEA2 /usr/local /usr; do
|
||||
if test -r $i/include/mysql/mysql.h; then
|
||||
MYSQL_DIR=$i
|
||||
MYSQL_INC_DIR=$i/include/mysql
|
||||
break
|
||||
elif test -r $i/include/mysql.h; then
|
||||
MYSQL_DIR=$i
|
||||
MYSQL_INC_DIR=$i/include
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$MYSQL_DIR"; then
|
||||
AC_MSG_ERROR([Cannot find MySQL header files under $PHP_PHRASEA2.])
|
||||
else
|
||||
AC_MSG_RESULT([$MYSQL_INC_DIR])
|
||||
PHP_ADD_INCLUDE($MYSQL_INC_DIR)
|
||||
fi
|
||||
|
||||
dnl *************** search mysql library ****************
|
||||
AC_MSG_CHECKING([MySQL library])
|
||||
if test "$enable_maintainer_zts" = "yes"; then
|
||||
MYSQL_LIBNAME=mysqlclient_r
|
||||
else
|
||||
MYSQL_LIBNAME=mysqlclient
|
||||
fi
|
||||
case $host_alias in
|
||||
*netware*[)]
|
||||
MYSQL_LIBNAME=mysql
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl for compat with PHP 4 build system
|
||||
if test -z "$PHP_LIBDIR"; then
|
||||
PHP_LIBDIR=lib
|
||||
fi
|
||||
|
||||
for i in $PHP_LIBDIR $PHP_LIBDIR/mysql; do
|
||||
MYSQL_LIB_CHK($i)
|
||||
done
|
||||
|
||||
if test -z "$MYSQL_LIB_DIR"; then
|
||||
AC_MSG_ERROR([Cannot find lib$MYSQL_LIBNAME under $MYSQL_DIR.])
|
||||
else
|
||||
AC_MSG_RESULT([$MYSQL_LIB_DIR / $MYSQL_LIBNAME])
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
dnl # --with-phrasea2 -> check with-path
|
||||
dnl SEARCH_PATH="/usr/local /usr" # you might want to change this
|
||||
dnl SEARCH_FOR="/include/phrasea2.h" # you most likely want to change this
|
||||
dnl if test -r $PHP_PHRASEA2/$SEARCH_FOR; then # path given as parameter
|
||||
dnl PHRASEA2_DIR=$PHP_PHRASEA2
|
||||
dnl else # search default path list
|
||||
dnl AC_MSG_CHECKING([for phrasea2 files in default path])
|
||||
dnl for i in $SEARCH_PATH ; do
|
||||
dnl if test -r $i/$SEARCH_FOR; then
|
||||
dnl PHRASEA2_DIR=$i
|
||||
dnl AC_MSG_RESULT(found in $i)
|
||||
dnl fi
|
||||
dnl done
|
||||
dnl fi
|
||||
dnl
|
||||
dnl if test -z "$PHRASEA2_DIR"; then
|
||||
dnl AC_MSG_RESULT([not found])
|
||||
dnl AC_MSG_ERROR([Please reinstall the phrasea2 distribution])
|
||||
dnl fi
|
||||
|
||||
dnl # --with-phrasea2 -> add include path
|
||||
dnl PHP_ADD_INCLUDE($PHRASEA2_DIR/include)
|
||||
|
||||
dnl # --with-phrasea2 -> check for lib and symbol presence
|
||||
dnl LIBNAME=phrasea2 # you may want to change this
|
||||
dnl LIBSYMBOL=phrasea2 # you most likely want to change this
|
||||
|
||||
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
|
||||
dnl [
|
||||
dnl PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $PHRASEA2_DIR/lib, PHRASEA2_SHARED_LIBADD)
|
||||
dnl AC_DEFINE(HAVE_PHRASEA2LIB,1,[ ])
|
||||
dnl ],[
|
||||
dnl AC_MSG_ERROR([wrong phrasea2 lib version or lib not found])
|
||||
dnl ],[
|
||||
dnl -L$PHRASEA2_DIR/lib -lm -ldl
|
||||
dnl ])
|
||||
dnl
|
||||
dnl PHP_SUBST(PHRASEA2_SHARED_LIBADD)
|
||||
|
||||
|
||||
dnl ****************** tell we will compile .cpp files *****************
|
||||
PHP_REQUIRE_CXX()
|
||||
CPPFLAGS=-Wno-write-strings
|
||||
|
||||
dnl ****************** tell we will link with g++ *****************
|
||||
CC=g++
|
||||
|
||||
PHP_ADD_LIBRARY_WITH_PATH($MYSQL_LIBNAME, $MYSQL_LIB_DIR, PHRASEA2_SHARED_LIBADD)
|
||||
PHP_ADD_LIBRARY_WITH_PATH([uuid], [/usr/lib], PHRASEA2_SHARED_LIBADD)
|
||||
PHP_SUBST(PHRASEA2_SHARED_LIBADD)
|
||||
|
||||
PHP_NEW_EXTENSION(phrasea2, phrasea2.cpp \
|
||||
phrasea_engine/cache.cpp\
|
||||
phrasea_engine/emptyw.cpp \
|
||||
phrasea_engine/fetchresults.cpp \
|
||||
phrasea_engine/grouping.cpp \
|
||||
phrasea_engine/phrasea_clock_t.cpp \
|
||||
phrasea_engine/qtree.cpp \
|
||||
phrasea_engine/query.cpp \
|
||||
phrasea_engine/session.cpp \
|
||||
phrasea_engine/uuid.cpp \
|
||||
phrasea_engine/sql.cpp \
|
||||
phrasea_engine/subdefs.cpp \
|
||||
phrasea_engine/xmlcaption.cpp \
|
||||
, $ext_shared, [], -DCOMPILE_DL_PHRASEA2 -DMYSQLENCODE=utf8)
|
||||
fi
|
1686
bin/src/php_phrasea2/config.sub
vendored
Executable file
1686
bin/src/php_phrasea2/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
13
bin/src/php_phrasea2/config.w32
Normal file
13
bin/src/php_phrasea2/config.w32
Normal file
@@ -0,0 +1,13 @@
|
||||
// $Id$
|
||||
// vim:ft=javascript
|
||||
|
||||
// If your extension references something external, use ARG_WITH
|
||||
// ARG_WITH("phrasea2", "for phrasea2 support", "no");
|
||||
|
||||
// Otherwise, use ARG_ENABLE
|
||||
// ARG_ENABLE("phrasea2", "enable phrasea2 support", "no");
|
||||
|
||||
if (PHP_PHRASEA2 != "no") {
|
||||
EXTENSION("phrasea2", "phrasea2.c");
|
||||
}
|
||||
|
17359
bin/src/php_phrasea2/configure
vendored
Executable file
17359
bin/src/php_phrasea2/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
211
bin/src/php_phrasea2/configure.in
Normal file
211
bin/src/php_phrasea2/configure.in
Normal file
@@ -0,0 +1,211 @@
|
||||
dnl This file becomes configure.in for self-contained extensions.
|
||||
|
||||
divert(1)
|
||||
|
||||
AC_PREREQ(2.13)
|
||||
AC_INIT(config.m4)
|
||||
|
||||
PHP_CONFIG_NICE(config.nice)
|
||||
|
||||
dnl
|
||||
AC_DEFUN([PHP_EXT_BUILDDIR],[.])dnl
|
||||
AC_DEFUN([PHP_EXT_DIR],[""])dnl
|
||||
AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir])dnl
|
||||
AC_DEFUN([PHP_ALWAYS_SHARED],[
|
||||
ext_output="yes, shared"
|
||||
ext_shared=yes
|
||||
test "[$]$1" = "no" && $1=yes
|
||||
])dnl
|
||||
dnl
|
||||
|
||||
test -z "$CFLAGS" && auto_cflags=1
|
||||
|
||||
abs_srcdir=`(cd $srcdir && pwd)`
|
||||
abs_builddir=`pwd`
|
||||
|
||||
AC_PROG_CC([cc gcc])
|
||||
PHP_DETECT_ICC
|
||||
PHP_DETECT_SUNCC
|
||||
AC_PROG_CC_C_O
|
||||
|
||||
dnl Support systems with system libraries in e.g. /usr/lib64
|
||||
PHP_ARG_WITH(libdir, for system library directory,
|
||||
[ --with-libdir=NAME Look for libraries in .../NAME rather than .../lib], lib, no)
|
||||
|
||||
PHP_RUNPATH_SWITCH
|
||||
PHP_SHLIB_SUFFIX_NAMES
|
||||
|
||||
dnl Find php-config script
|
||||
PHP_ARG_WITH(php-config,,
|
||||
[ --with-php-config=PATH Path to php-config [php-config]], php-config, no)
|
||||
|
||||
dnl For BC
|
||||
PHP_CONFIG=$PHP_PHP_CONFIG
|
||||
prefix=`$PHP_CONFIG --prefix 2>/dev/null`
|
||||
phpincludedir=`$PHP_CONFIG --include-dir 2>/dev/null`
|
||||
INCLUDES=`$PHP_CONFIG --includes 2>/dev/null`
|
||||
EXTENSION_DIR=`$PHP_CONFIG --extension-dir 2>/dev/null`
|
||||
PHP_EXECUTABLE=`$PHP_CONFIG --php-binary 2>/dev/null`
|
||||
|
||||
if test -z "$prefix"; then
|
||||
AC_MSG_ERROR([Cannot find php-config. Please use --with-php-config=PATH])
|
||||
fi
|
||||
|
||||
php_shtool=$srcdir/build/shtool
|
||||
PHP_INIT_BUILD_SYSTEM
|
||||
|
||||
AC_MSG_CHECKING([for PHP prefix])
|
||||
AC_MSG_RESULT([$prefix])
|
||||
AC_MSG_CHECKING([for PHP includes])
|
||||
AC_MSG_RESULT([$INCLUDES])
|
||||
AC_MSG_CHECKING([for PHP extension directory])
|
||||
AC_MSG_RESULT([$EXTENSION_DIR])
|
||||
AC_MSG_CHECKING([for PHP installed headers prefix])
|
||||
AC_MSG_RESULT([$phpincludedir])
|
||||
|
||||
dnl Checks for PHP_DEBUG / ZEND_DEBUG / ZTS
|
||||
AC_MSG_CHECKING([if debug is enabled])
|
||||
old_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="-I$phpincludedir"
|
||||
AC_EGREP_CPP(php_debug_is_enabled,[
|
||||
#include <main/php_config.h>
|
||||
#if ZEND_DEBUG
|
||||
php_debug_is_enabled
|
||||
#endif
|
||||
],[
|
||||
PHP_DEBUG=yes
|
||||
],[
|
||||
PHP_DEBUG=no
|
||||
])
|
||||
CPPFLAGS=$old_CPPFLAGS
|
||||
AC_MSG_RESULT([$PHP_DEBUG])
|
||||
|
||||
AC_MSG_CHECKING([if zts is enabled])
|
||||
old_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="-I$phpincludedir"
|
||||
AC_EGREP_CPP(php_zts_is_enabled,[
|
||||
#include <main/php_config.h>
|
||||
#if ZTS
|
||||
php_zts_is_enabled
|
||||
#endif
|
||||
],[
|
||||
PHP_THREAD_SAFETY=yes
|
||||
],[
|
||||
PHP_THREAD_SAFETY=no
|
||||
])
|
||||
CPPFLAGS=$old_CPPFLAGS
|
||||
AC_MSG_RESULT([$PHP_DEBUG])
|
||||
|
||||
dnl Support for building and testing Zend extensions
|
||||
if test "$PHP_DEBUG" = "yes" && test "$PHP_THREAD_SAFETY" = "yes; then
|
||||
ZEND_EXT_TYPE="zend_extension_debug_ts"
|
||||
elif test "$PHP_DEBUG" = "yes"; then
|
||||
ZEND_EXT_TYPE="zend_extension_debug"
|
||||
elif test "$PHP_THREAD_SAFETY" = "yes; then
|
||||
ZEND_EXT_TYPE="zend_extension_ts"
|
||||
else
|
||||
ZEND_EXT_TYPE="zend_extension"
|
||||
fi
|
||||
PHP_SUBST(ZEND_EXT_TYPE)
|
||||
|
||||
dnl Discard optimization flags when debugging is enabled
|
||||
if test "$PHP_DEBUG" = "yes"; then
|
||||
PHP_DEBUG=1
|
||||
ZEND_DEBUG=yes
|
||||
changequote({,})
|
||||
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
||||
CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
||||
changequote([,])
|
||||
dnl add -O0 only if GCC or ICC is used
|
||||
if test "$GCC" = "yes" || test "$ICC" = "yes"; then
|
||||
CFLAGS="$CFLAGS -O0"
|
||||
CXXFLAGS="$CXXFLAGS -O0"
|
||||
fi
|
||||
if test "$SUNCC" = "yes"; then
|
||||
if test -n "$auto_cflags"; then
|
||||
CFLAGS="-g"
|
||||
CXXFLAGS="-g"
|
||||
else
|
||||
CFLAGS="$CFLAGS -g"
|
||||
CXXFLAGS="$CFLAGS -g"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
PHP_DEBUG=0
|
||||
ZEND_DEBUG=no
|
||||
fi
|
||||
|
||||
dnl Always shared
|
||||
PHP_BUILD_SHARED
|
||||
|
||||
dnl Required programs
|
||||
PHP_PROG_RE2C
|
||||
PHP_PROG_AWK
|
||||
|
||||
sinclude(config.m4)
|
||||
|
||||
enable_static=no
|
||||
enable_shared=yes
|
||||
|
||||
dnl Only allow AC_PROG_CXX and AC_PROG_CXXCPP if they are explicitly called (by PHP_REQUIRE_CXX).
|
||||
dnl Otherwise AC_PROG_LIBTOOL fails if there is no working C++ compiler.
|
||||
AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [
|
||||
undefine([AC_PROG_CXX])
|
||||
AC_DEFUN([AC_PROG_CXX], [])
|
||||
undefine([AC_PROG_CXXCPP])
|
||||
AC_DEFUN([AC_PROG_CXXCPP], [php_prog_cxxcpp=disabled])
|
||||
])
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
all_targets='$(PHP_MODULES) $(PHP_ZEND_EX)'
|
||||
install_targets="install-modules install-headers"
|
||||
phplibdir="`pwd`/modules"
|
||||
CPPFLAGS="$CPPFLAGS -DHAVE_CONFIG_H"
|
||||
CFLAGS_CLEAN='$(CFLAGS)'
|
||||
CXXFLAGS_CLEAN='$(CXXFLAGS)'
|
||||
|
||||
test "$prefix" = "NONE" && prefix="/usr/local"
|
||||
test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)'
|
||||
|
||||
PHP_SUBST(PHP_MODULES)
|
||||
PHP_SUBST(PHP_ZEND_EX)
|
||||
|
||||
PHP_SUBST(all_targets)
|
||||
PHP_SUBST(install_targets)
|
||||
|
||||
PHP_SUBST(prefix)
|
||||
PHP_SUBST(exec_prefix)
|
||||
PHP_SUBST(libdir)
|
||||
PHP_SUBST(prefix)
|
||||
PHP_SUBST(phplibdir)
|
||||
PHP_SUBST(phpincludedir)
|
||||
|
||||
PHP_SUBST(CC)
|
||||
PHP_SUBST(CFLAGS)
|
||||
PHP_SUBST(CFLAGS_CLEAN)
|
||||
PHP_SUBST(CPP)
|
||||
PHP_SUBST(CPPFLAGS)
|
||||
PHP_SUBST(CXX)
|
||||
PHP_SUBST(CXXFLAGS)
|
||||
PHP_SUBST(CXXFLAGS_CLEAN)
|
||||
PHP_SUBST(EXTENSION_DIR)
|
||||
PHP_SUBST(PHP_EXECUTABLE)
|
||||
PHP_SUBST(EXTRA_LDFLAGS)
|
||||
PHP_SUBST(EXTRA_LIBS)
|
||||
PHP_SUBST(INCLUDES)
|
||||
PHP_SUBST(LFLAGS)
|
||||
PHP_SUBST(LDFLAGS)
|
||||
PHP_SUBST(SHARED_LIBTOOL)
|
||||
PHP_SUBST(LIBTOOL)
|
||||
PHP_SUBST(SHELL)
|
||||
PHP_SUBST(INSTALL_HEADERS)
|
||||
|
||||
PHP_GEN_BUILD_DIRS
|
||||
PHP_GEN_GLOBAL_MAKEFILE
|
||||
|
||||
test -d modules || $php_shtool mkdir modules
|
||||
touch .deps
|
||||
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
|
||||
AC_OUTPUT()
|
0
bin/src/php_phrasea2/install-sh
Normal file
0
bin/src/php_phrasea2/install-sh
Normal file
8413
bin/src/php_phrasea2/ltmain.sh
Executable file
8413
bin/src/php_phrasea2/ltmain.sh
Executable file
File diff suppressed because it is too large
Load Diff
0
bin/src/php_phrasea2/missing
Normal file
0
bin/src/php_phrasea2/missing
Normal file
0
bin/src/php_phrasea2/mkinstalldirs
Normal file
0
bin/src/php_phrasea2/mkinstalldirs
Normal file
89
bin/src/php_phrasea2/php_phrasea2.h
Normal file
89
bin/src/php_phrasea2/php_phrasea2.h
Normal file
@@ -0,0 +1,89 @@
|
||||
#ifndef PHP_PHRASEA2_H
|
||||
#define PHP_PHRASEA2_H
|
||||
|
||||
#include "phrasea_engine/cache.h" // define CACHE_SESSION
|
||||
|
||||
#ifdef ZTS
|
||||
#include "TSRM.h"
|
||||
#endif
|
||||
|
||||
ZEND_BEGIN_MODULE_GLOBALS(phrasea2)
|
||||
SQLCONN *global_epublisher;
|
||||
CACHE_SESSION *global_session;
|
||||
char tempPath[1024];
|
||||
ZEND_END_MODULE_GLOBALS(phrasea2)
|
||||
|
||||
#ifdef ZTS
|
||||
#define PHRASEA2_G(v) TSRMG(phrasea2_globals_id, zend_phrasea2_globals *, v)
|
||||
#else
|
||||
#define PHRASEA2_G(v) (phrasea2_globals.v)
|
||||
#endif
|
||||
|
||||
PHP_MINIT_FUNCTION(phrasea2);
|
||||
PHP_MSHUTDOWN_FUNCTION(phrasea2);
|
||||
PHP_RINIT_FUNCTION(phrasea2);
|
||||
PHP_RSHUTDOWN_FUNCTION(phrasea2);
|
||||
PHP_MINFO_FUNCTION(phrasea2);
|
||||
|
||||
PHP_FUNCTION(phrasea2_verif_ultime);
|
||||
PHP_FUNCTION(phrasea_getVersion);
|
||||
PHP_FUNCTION(phrasea_create_session);
|
||||
PHP_FUNCTION(phrasea_open_session);
|
||||
PHP_FUNCTION(phrasea_save_session);
|
||||
PHP_FUNCTION(phrasea_clear_cache);
|
||||
PHP_FUNCTION(phrasea_register_base);
|
||||
PHP_FUNCTION(phrasea_close_session);
|
||||
PHP_FUNCTION(phrasea_query2);
|
||||
// PHP_FUNCTION(phrasea_query);
|
||||
PHP_FUNCTION(phrasea_fetch_results);
|
||||
PHP_FUNCTION(phrasea_subdefs);
|
||||
PHP_FUNCTION(phrasea_emptyw);
|
||||
PHP_FUNCTION(phrasea_status);
|
||||
PHP_FUNCTION(phrasea_xmlcaption);
|
||||
ZEND_FUNCTION(phrasea_setxmlcaption);
|
||||
PHP_FUNCTION(phrasea_isgrp);
|
||||
PHP_FUNCTION(phrasea_grpparent);
|
||||
PHP_FUNCTION(phrasea_grpforselection);
|
||||
PHP_FUNCTION(phrasea_grpchild);
|
||||
ZEND_FUNCTION(phrasea_setstatus);
|
||||
// PHP_FUNCTION(phrasea_connect);
|
||||
// PHP_FUNCTION(phrasea_return_php);
|
||||
PHP_FUNCTION(phrasea_out_xml);
|
||||
PHP_FUNCTION(phrasea_list_bases);
|
||||
PHP_FUNCTION(phrasea_uuid_create);
|
||||
|
||||
PHP_FUNCTION(phrasea_uuid_is_valid);
|
||||
PHP_FUNCTION(phrasea_uuid_compare);
|
||||
PHP_FUNCTION(phrasea_uuid_is_null);
|
||||
//PHP_FUNCTION(phrasea_uuid_variant);
|
||||
//PHP_FUNCTION(phrasea_uuid_time);
|
||||
//PHP_FUNCTION(phrasea_uuid_mac);
|
||||
PHP_FUNCTION(phrasea_uuid_parse);
|
||||
PHP_FUNCTION(phrasea_uuid_unparse);
|
||||
|
||||
// PHP_FUNCTION(phrasea_usebase);
|
||||
PHP_FUNCTION(phrasea_conn);
|
||||
PHP_FUNCTION(phrasea_info);
|
||||
|
||||
extern zend_module_entry phrasea2_module_entry;
|
||||
#define phpext_phrasea2_ptr &phrasea2_module_entry
|
||||
|
||||
|
||||
#include <uuid/uuid.h>
|
||||
|
||||
|
||||
|
||||
/* mirrored PHP Constants */
|
||||
#define UUID_TYPE_DEFAULT 0
|
||||
#define UUID_TYPE_TIME UUID_TYPE_DCE_TIME
|
||||
#define UUID_TYPE_DCE UUID_TYPE_DCE_RANDOM
|
||||
#define UUID_TYPE_NAME UUID_TYPE_DCE_TIME
|
||||
#define UUID_TYPE_RANDOM UUID_TYPE_DCE_RANDOM
|
||||
#define UUID_TYPE_NULL -1
|
||||
#define UUID_TYPE_INVALID -42
|
||||
|
||||
|
||||
// extern ZEND_DECLARE_MODULE_GLOBALS(phrasea2)
|
||||
ZEND_EXTERN_MODULE_GLOBALS(phrasea2)
|
||||
|
||||
#endif /* PHP_PHRASEA2_H */
|
147
bin/src/php_phrasea2/php_phrasea2/phrasea2.rc
Normal file
147
bin/src/php_phrasea2/php_phrasea2/phrasea2.rc
Normal file
@@ -0,0 +1,147 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "..\_VERSION.h"
|
||||
// #include ".\_TIME.h"
|
||||
|
||||
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// French (France) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION PHVERSION // PHVERSION : d<>fini dans macro utilisateurs
|
||||
PRODUCTVERSION PHVERSION // PHVERSION : d<>fini dans macro utilisateurs
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040c04b0"
|
||||
BEGIN
|
||||
// VALUE "Comments", "\0"
|
||||
VALUE "CompanyName", "Alchemy\0"
|
||||
// VALUE "FileDescription", "php_phrasea2\0"
|
||||
VALUE "FileVersion", QUOTE(PHDOTVERSION) // PHDOTVERSION : d<>fini dans macro utilisateurs
|
||||
// VALUE "InternalName", "php_phrasea2\0"
|
||||
// VALUE "LegalCopyright", "Copyright <20> 2007\0"
|
||||
// VALUE "LegalTrademarks", "\0"
|
||||
// VALUE "OriginalFilename", "php_phrasea2.dll\0"
|
||||
// VALUE "PrivateBuild", "\0"
|
||||
// VALUE "ProductName", "extension php_phrasea2\0"
|
||||
VALUE "ProductVersion", QUOTE(PHDOTVERSION) // PHDOTVERSION : d<>fini dans macro utilisateurs
|
||||
// VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x40c, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 95
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dialog"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,129,7,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_DIALOG1, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 179
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 88
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // French (France) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
146
bin/src/php_phrasea2/php_phrasea2/phrasea2.rc_cp
Normal file
146
bin/src/php_phrasea2/php_phrasea2/phrasea2.rc_cp
Normal file
@@ -0,0 +1,146 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include ".\_VERSION.h"
|
||||
|
||||
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// French (France) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifndef _MAC
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RPHVERSION
|
||||
PRODUCTVERSION RPHVERSION // VERSION : d<>fini dans _VERSION.h
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040c04b0"
|
||||
BEGIN
|
||||
VALUE "Comments", "\0"
|
||||
VALUE "CompanyName", "Alchemy\0"
|
||||
VALUE "FileDescription", "php_phrasea2\0"
|
||||
VALUE "FileVersion", ZQUOTE(RPHDOTVERSION) // STRVERSION : d<>fini dans _VERSION.h
|
||||
VALUE "InternalName", "php_phrasea2\0"
|
||||
VALUE "LegalCopyright", "Copyright <20> 2007\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename", "php_phrasea2.dll\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "extension php_phrasea2\0"
|
||||
VALUE "ProductVersion", ZQUOTE(RPHDOTVERSION) // STRVERSION : d<>fini dans _VERSION.h
|
||||
VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x40c, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif // !_MAC
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 186, 95
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Dialog"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,129,7,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
IDD_DIALOG1, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 179
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 88
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // French (France) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
16
bin/src/php_phrasea2/php_phrasea2/resource.h
Normal file
16
bin/src/php_phrasea2/php_phrasea2/resource.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by phrasea2.rc
|
||||
//
|
||||
#define IDD_DIALOG1 101
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
397
bin/src/php_phrasea2/phrasea2.cpp
Normal file
397
bin/src/php_phrasea2/phrasea2.cpp
Normal file
@@ -0,0 +1,397 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/timeb.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4005) // supprime le warning sur double def de _WIN32_WINNT
|
||||
#include "php.h"
|
||||
#include "php_ini.h"
|
||||
#pragma warning(pop)
|
||||
#include "ext/standard/info.h"
|
||||
|
||||
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
# include <winsock2.h>
|
||||
# define signal(a, b) NULL
|
||||
#elif defined(NETWARE)
|
||||
# include <sys/socket.h>
|
||||
# define signal(a, b) NULL
|
||||
#else
|
||||
# if HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
# endif
|
||||
# if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
# endif
|
||||
# include <netdb.h>
|
||||
# include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
// ******* tosee : mysql.h moved
|
||||
#include <mysql.h>
|
||||
|
||||
|
||||
#include "_VERSION.h"
|
||||
#include "php_phrasea2.h"
|
||||
|
||||
#include "phrasea_engine/trace_memory.h"
|
||||
|
||||
|
||||
ZEND_DECLARE_MODULE_GLOBALS(phrasea2)
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// option -Wno-write-strings to gcc prevents warnings on this section
|
||||
static function_entry phrasea2_functions[] = {
|
||||
PHP_FE(phrasea_info, NULL)
|
||||
PHP_FE(phrasea_conn, NULL)
|
||||
PHP_FE(phrasea_create_session, NULL)
|
||||
PHP_FE(phrasea_open_session, NULL)
|
||||
PHP_FE(phrasea_save_session, NULL)
|
||||
PHP_FE(phrasea_clear_cache, NULL)
|
||||
PHP_FE(phrasea_register_base, NULL)
|
||||
PHP_FE(phrasea_close_session, NULL)
|
||||
// PHP_FE(phrasea_query, NULL)
|
||||
PHP_FE(phrasea_query2, NULL)
|
||||
PHP_FE(phrasea_fetch_results, NULL)
|
||||
PHP_FE(phrasea_subdefs, NULL)
|
||||
PHP_FE(phrasea_emptyw, NULL)
|
||||
PHP_FE(phrasea_status, NULL)
|
||||
PHP_FE(phrasea_xmlcaption, NULL)
|
||||
PHP_FE(phrasea_setxmlcaption, NULL)
|
||||
PHP_FE(phrasea_isgrp, NULL)
|
||||
PHP_FE(phrasea_grpparent, NULL)
|
||||
PHP_FE(phrasea_grpforselection, NULL)
|
||||
PHP_FE(phrasea_grpchild, NULL)
|
||||
PHP_FE(phrasea_setstatus, NULL)
|
||||
PHP_FE(phrasea_uuid_create, NULL)
|
||||
PHP_FE(phrasea_uuid_is_valid, NULL)
|
||||
PHP_FE(phrasea_uuid_compare, NULL)
|
||||
PHP_FE(phrasea_uuid_is_null, NULL)
|
||||
// PHP_FE(phrasea_uuid_variant, NULL)
|
||||
// PHP_FE(phrasea_uuid_time, NULL)
|
||||
// PHP_FE(phrasea_uuid_mac, NULL)
|
||||
PHP_FE(phrasea_uuid_parse, NULL)
|
||||
PHP_FE(phrasea_uuid_unparse, NULL)
|
||||
// PHP_FE(phrasea_return_php, NULL)
|
||||
// PHP_FE(phrasea_out_xml, NULL)
|
||||
PHP_FE(phrasea_list_bases, NULL)
|
||||
{NULL, NULL, NULL} /* Must be the last line in phrasea2_functions[] */
|
||||
};
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
zend_module_entry phrasea2_module_entry = {
|
||||
#if ZEND_MODULE_API_NO >= 20010901
|
||||
STANDARD_MODULE_HEADER,
|
||||
#endif
|
||||
(char *)"phrasea2",
|
||||
phrasea2_functions,
|
||||
PHP_MINIT(phrasea2),
|
||||
PHP_MSHUTDOWN(phrasea2),
|
||||
PHP_RINIT(phrasea2),
|
||||
PHP_RSHUTDOWN(phrasea2),
|
||||
PHP_MINFO(phrasea2),
|
||||
#if ZEND_MODULE_API_NO >= 20010901
|
||||
(char *)"0.1", /* Replace with version number for your extension */
|
||||
#endif
|
||||
STANDARD_MODULE_PROPERTIES
|
||||
};
|
||||
|
||||
#ifdef COMPILE_DL_PHRASEA2
|
||||
ZEND_GET_MODULE(phrasea2)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
PHP_INI_BEGIN()
|
||||
PHP_INI_END()
|
||||
|
||||
|
||||
static void php_phrasea2_init_globals(zend_phrasea2_globals *phrasea2_globals)
|
||||
{
|
||||
phrasea2_globals->global_epublisher = NULL;
|
||||
phrasea2_globals->global_session = NULL;
|
||||
phrasea2_globals->tempPath[0] = '\0';
|
||||
}
|
||||
/*
|
||||
#ifdef PHP_WIN32
|
||||
char tempPathBuffer[1024];
|
||||
#else
|
||||
char *tempPathBuffer = "/tmp/";
|
||||
#endif
|
||||
*/
|
||||
// -----------------------------------------------------------------------------
|
||||
// option -Wno-write-strings to gcc prevents warnings on this section
|
||||
PHP_MINIT_FUNCTION(phrasea2)
|
||||
{
|
||||
// REGISTER_LONG_CONSTANT("PHRASEA_K", 987, CONST_CS);
|
||||
// zend_printf("PHP_MINIT_FUNCTION\n");
|
||||
// REGISTER_LONG_CONSTANT((char *)"PHRASEA_MULTIDOC_DOCONLY", 123, CONST_CS | CONST_PERSISTENT);
|
||||
// zend_register_long_constant("PHRASEA_MULTIDOC_DOCONLY", 24, 666, CONST_CS | CONST_PERSISTENT, module_number, TSRMLS_DC);
|
||||
// zend_printf("REGISTER_MAIN_LONG_CONSTANT done\n");
|
||||
ZEND_INIT_MODULE_GLOBALS(phrasea2, php_phrasea2_init_globals, NULL);
|
||||
|
||||
REGISTER_INI_ENTRIES();
|
||||
|
||||
// Z_TYPE(phrasea2_module_entry) = type;
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_MYSQLENGINE", PHRASEA_MYSQLENGINE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_PGSQLENGINE", PHRASEA_PGSQLENGINE, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_OR", PHRASEA_OP_OR, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_AND", PHRASEA_OP_AND, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_KW_ALL", PHRASEA_KW_ALL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_KW_LAST", PHRASEA_KW_LAST, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_KW_FIRST", PHRASEA_KW_FIRST, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_EXCEPT", PHRASEA_OP_EXCEPT, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_NEAR", PHRASEA_OP_NEAR, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_BEFORE", PHRASEA_OP_BEFORE, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_AFTER", PHRASEA_OP_AFTER, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_IN", PHRASEA_OP_IN, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_COLON", PHRASEA_OP_COLON, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_EQUAL", PHRASEA_OP_EQUAL, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_NOTEQU", PHRASEA_OP_NOTEQU, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_GT", PHRASEA_OP_GT, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_LT" , PHRASEA_OP_LT, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_GEQT", PHRASEA_OP_GEQT, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_OP_LEQT", PHRASEA_OP_LEQT, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_KEYLIST", PHRASEA_KEYLIST, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_MULTIDOC_DOCONLY", PHRASEA_MULTIDOC_DOCONLY, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_MULTIDOC_REGONLY", PHRASEA_MULTIDOC_REGONLY, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_ORDER_DESC", PHRASEA_ORDER_DESC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_ORDER_ASC", PHRASEA_ORDER_ASC, CONST_CS | CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("PHRASEA_ORDER_ASK", PHRASEA_ORDER_ASK, CONST_CS | CONST_PERSISTENT);
|
||||
|
||||
|
||||
#ifdef ZTS
|
||||
# if MYSQL_VERSION_ID >= 40000
|
||||
// mysql_thread_init();
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#if UUID_VARIANT_NCS
|
||||
REGISTER_LONG_CONSTANT("UUID_VARIANT_NCS", UUID_VARIANT_NCS, CONST_PERSISTENT | CONST_CS);
|
||||
#endif /* UUID_VARIANT_NCS */
|
||||
#if UUID_VARIANT_DCE
|
||||
REGISTER_LONG_CONSTANT("UUID_VARIANT_DCE", UUID_VARIANT_DCE, CONST_PERSISTENT | CONST_CS);
|
||||
#endif /* UUID_VARIANT_DCE */
|
||||
#if UUID_VARIANT_MICROSOFT
|
||||
REGISTER_LONG_CONSTANT("UUID_VARIANT_MICROSOFT", UUID_VARIANT_MICROSOFT, CONST_PERSISTENT | CONST_CS);
|
||||
#endif /* UUID_VARIANT_MICROSOFT */
|
||||
#if UUID_VARIANT_OTHER
|
||||
REGISTER_LONG_CONSTANT("UUID_VARIANT_OTHER", UUID_VARIANT_OTHER, CONST_PERSISTENT | CONST_CS);
|
||||
#endif /* UUID_VARIANT_OTHER */
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_DEFAULT", 0, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_TIME", UUID_TYPE_DCE_TIME, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_DCE", UUID_TYPE_DCE_RANDOM, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_NAME", UUID_TYPE_DCE_TIME, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_RANDOM", UUID_TYPE_DCE_RANDOM, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_NULL", -1, CONST_PERSISTENT | CONST_CS);
|
||||
REGISTER_LONG_CONSTANT("UUID_TYPE_INVALID", -42, CONST_PERSISTENT | CONST_CS);
|
||||
|
||||
|
||||
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
PHP_RINIT_FUNCTION(phrasea2)
|
||||
{
|
||||
// zend_printf("PHP_RINIT_FUNCTION\n");
|
||||
PHRASEA2_G(global_session) = NULL;
|
||||
PHRASEA2_G(global_epublisher) = NULL;
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
DWORD tempPathLen;
|
||||
tempPathLen = GetTempPath(1023, PHRASEA2_G(tempPath));
|
||||
if(tempPathLen>0 || tempPathLen<1023)
|
||||
{
|
||||
// tempPathBuffer[tempPathLen] = '\0';
|
||||
}
|
||||
else
|
||||
{
|
||||
PHRASEA2_G(tempPath)[0] = '\\';
|
||||
PHRASEA2_G(tempPath)[1] = '\0';
|
||||
}
|
||||
#else
|
||||
strcpy(PHRASEA2_G(tempPath), "/tmp/");
|
||||
#endif
|
||||
|
||||
TRACELOG("RINIT");
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
PHP_RSHUTDOWN_FUNCTION(phrasea2)
|
||||
{
|
||||
// zend_printf("PHP_RSHUTDOWN_FUNCTION\n");
|
||||
if(PHRASEA2_G(global_session))
|
||||
{
|
||||
delete PHRASEA2_G(global_session);
|
||||
PHRASEA2_G(global_session) = NULL;
|
||||
}
|
||||
if(PHRASEA2_G(global_epublisher))
|
||||
{
|
||||
delete PHRASEA2_G(global_epublisher);
|
||||
PHRASEA2_G(global_epublisher) = NULL;
|
||||
}
|
||||
|
||||
TRACELOG("RSHUTDOWN");
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
PHP_MSHUTDOWN_FUNCTION(phrasea2)
|
||||
{
|
||||
UNREGISTER_INI_ENTRIES();
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
PHP_MINFO_FUNCTION(phrasea2)
|
||||
{
|
||||
char buf[1000];
|
||||
php_info_print_table_start();
|
||||
php_info_print_table_header(2, "phrasea2 support", "enabled" );
|
||||
php_info_print_table_row(2, "Version", QUOTE(PHDOTVERSION) );
|
||||
|
||||
sprintf(buf, "OK ( client info : %s )", mysql_get_client_info());
|
||||
php_info_print_table_row(2, "MYSQL support", buf);
|
||||
|
||||
#ifdef PGSUPPORT
|
||||
sprintf(buf, "OK ( version %s )", "???"); // PG_VERSION);
|
||||
php_info_print_table_row(2, "PostgreSQL support", buf);
|
||||
#else
|
||||
php_info_print_table_row(2, "NO PostgreSQL support", "");
|
||||
#endif
|
||||
|
||||
#ifdef MYSQLENCODE
|
||||
php_info_print_table_row(2, "SQL connection charset", QUOTE(MYSQLENCODE) );
|
||||
#else
|
||||
php_info_print_table_row(2, "SQL connection charset", "default" );
|
||||
#endif
|
||||
FILE *fp_test=NULL;
|
||||
char *fname;
|
||||
bool test = false;
|
||||
|
||||
int l = strlen(PHRASEA2_G(tempPath))
|
||||
+ 9 // "_phrasea."
|
||||
+ strlen("fakeukey")
|
||||
+ 9 // ".answers."
|
||||
+ 33 // zsession
|
||||
+1; // '\0'
|
||||
|
||||
if( (fname = (char *)EMALLOC(l)) )
|
||||
{
|
||||
sprintf(fname, "%s_phrasea.%s.test.%ld.bin", PHRASEA2_G(tempPath), "fakeukey", 666);
|
||||
if( (fp_test = fopen(fname, "ab")) )
|
||||
{
|
||||
fclose(fp_test);
|
||||
test = true;
|
||||
}
|
||||
|
||||
php_info_print_table_row(3, "temp DIR", PHRASEA2_G(tempPath), (test?"OK":"BAD") );
|
||||
|
||||
EFREE(fname);
|
||||
}
|
||||
|
||||
php_info_print_table_end();
|
||||
|
||||
DISPLAY_INI_ENTRIES();
|
||||
}
|
||||
|
||||
PHP_FUNCTION(phrasea_info)
|
||||
{
|
||||
if(ZEND_NUM_ARGS()!= 0)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
else
|
||||
{
|
||||
char fname[1000];
|
||||
FILE *fp_test;
|
||||
array_init(return_value);
|
||||
add_assoc_string(return_value, (char *)"version", QUOTE(PHDOTVERSION), TRUE);
|
||||
add_assoc_string(return_value, (char *)"mysql_client", (char *)(mysql_get_client_info()), TRUE);
|
||||
add_assoc_string(return_value, (char *)"temp_dir", PHRASEA2_G(tempPath), TRUE);
|
||||
sprintf(fname, "%s_test.bin", PHRASEA2_G(tempPath));
|
||||
if( (fp_test = fopen(fname, "ab")) )
|
||||
{
|
||||
fclose(fp_test);
|
||||
remove(fname);
|
||||
add_assoc_bool(return_value, (char *)"temp_writable", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
add_assoc_bool(return_value, (char *)"temp_writable", false);
|
||||
}
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
if(epublisher && epublisher->isok())
|
||||
{
|
||||
add_assoc_string(return_value, (char *)"cnx_ukey", epublisher->ukey, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
add_assoc_bool(return_value, (char *)"cnx_ukey", FALSE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PHP_FUNCTION(phrasea_conn)
|
||||
{
|
||||
char *zhost, *zuser, *zpasswd, *zdbname;
|
||||
int zhost_len, zuser_len, zpasswd_len, zdbname_len;
|
||||
int zport;
|
||||
|
||||
if(ZEND_NUM_ARGS()!=5)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"slsss"
|
||||
, &zhost, &zhost_len
|
||||
, &zport
|
||||
, &zuser, &zuser_len
|
||||
, &zpasswd, &zpasswd_len
|
||||
, &zdbname, &zdbname_len) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
// zend_printf("phrasea_conn(host='%s' port=%i user='%s' passwd='%s' dbname='%s')<br>\n", zhost, zport, zuser, zpasswd, zdbname);
|
||||
|
||||
if(PHRASEA2_G(global_epublisher))
|
||||
delete(PHRASEA2_G(global_epublisher));
|
||||
|
||||
PHRASEA2_G(global_epublisher) = new SQLCONN(zhost, zport, zuser, zpasswd, zdbname, (char *)"MYSQL");
|
||||
if(PHRASEA2_G(global_epublisher->isok()))
|
||||
{
|
||||
RETURN_TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
delete(PHRASEA2_G(global_epublisher));
|
||||
PHRASEA2_G(global_epublisher) = NULL;
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
}
|
21
bin/src/php_phrasea2/phrasea2.php
Normal file
21
bin/src/php_phrasea2/phrasea2.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$br = (php_sapi_name() == "cli")? "":"<br>";
|
||||
|
||||
if(!extension_loaded('phrasea2')) {
|
||||
dl('phrasea2.' . PHP_SHLIB_SUFFIX);
|
||||
}
|
||||
$module = 'phrasea2';
|
||||
$functions = get_extension_funcs($module);
|
||||
echo "Functions available in the test extension:$br\n";
|
||||
foreach($functions as $func) {
|
||||
echo $func."$br\n";
|
||||
}
|
||||
echo "$br\n";
|
||||
$function = 'confirm_' . $module . '_compiled';
|
||||
if (extension_loaded($module)) {
|
||||
$str = $function($module);
|
||||
} else {
|
||||
$str = "Module $module is not compiled into PHP";
|
||||
}
|
||||
echo "$str\n";
|
||||
?>
|
81
bin/src/php_phrasea2/phrasea_engine/base_header.h
Executable file
81
bin/src/php_phrasea2/phrasea_engine/base_header.h
Executable file
@@ -0,0 +1,81 @@
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#ifndef true
|
||||
#define true 1
|
||||
#endif
|
||||
#ifndef false
|
||||
#define false 0
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/timeb.h>
|
||||
#include <math.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4005) // supprime le warning sur double def de _WIN32_WINNT
|
||||
#include "php.h"
|
||||
#pragma warning(pop)
|
||||
|
||||
//#include "php_globals.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "ext/standard/php_string.h"
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
# include <winsock.h>
|
||||
# define signal(a, b) NULL
|
||||
#elif defined(NETWARE)
|
||||
# include <sys/socket.h>
|
||||
# define signal(a, b) NULL
|
||||
#else
|
||||
# if HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
# endif
|
||||
# if HAVE_SYS_TYPES_H
|
||||
# include <sys/types.h>
|
||||
# endif
|
||||
# include <netdb.h>
|
||||
# include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
// ******* tosee : mysql.h d<>plac<61>
|
||||
#include <mysql.h>
|
||||
|
||||
// ******* tosee : fichiers headers de pgsql
|
||||
#ifdef PHP_WIN32
|
||||
#ifdef PGSUPPORT
|
||||
# include <libpq-fe.h>
|
||||
#endif
|
||||
// ******* tosee : HAVE_MEMMOVE est d<>j<EFBFBD> d<>fini dans un include de php (via php.h)
|
||||
# undef HAVE_MEMMOVE
|
||||
#ifdef PGSUPPORT
|
||||
# include <pg_config_os.h>
|
||||
#endif
|
||||
#else
|
||||
# undef PACKAGE_VERSION
|
||||
# undef PACKAGE_TARNAME
|
||||
# undef PACKAGE_NAME
|
||||
# undef PACKAGE_STRING
|
||||
# undef PACKAGE_BUGREPORT
|
||||
#ifdef PGSUPPORT
|
||||
# include <postgres.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
#include "../php_phrasea2/phrasea_ext.h"
|
||||
#include "../php_phrasea2/phrasea_types.h"
|
||||
#include "sql.h"
|
||||
*/
|
||||
#include "trace_memory.h"
|
||||
|
||||
#define RAMLOG "/home/gaulier/ramlog.txt"
|
||||
|
861
bin/src/php_phrasea2/phrasea_engine/cache.cpp
Executable file
861
bin/src/php_phrasea2/phrasea_engine/cache.cpp
Executable file
@@ -0,0 +1,861 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------------
|
||||
// CACHE_COLL
|
||||
|
||||
#define GETPREFS 1
|
||||
|
||||
#define PAD sizeof(char *)
|
||||
#define LSTRPAD(l) (((l)+PAD) & ~(PAD-1))
|
||||
|
||||
|
||||
|
||||
CACHE_COLL::CACHE_COLL(long coll_id, long base_id, char *name, char *prefs, bool registered)
|
||||
{
|
||||
// zend_printf("NEW COLL\n");
|
||||
int lstr, lram;
|
||||
// zend_printf("coll_id='%li', base_id='%li', name='%s', prefs='%s'<br>\n", coll_id, base_id, name, (prefs?prefs:"null") );
|
||||
this->coll_id = coll_id;
|
||||
this->base_id = base_id;
|
||||
// this->phserver_port = phserver_port;
|
||||
this->name = NULL;
|
||||
this->name_lenPAD = 0;
|
||||
this->prefs = NULL;
|
||||
this->prefs_lenPAD = 0;
|
||||
// this->phserver_host = NULL;
|
||||
// this->phserver_host_lenPAD = 0;
|
||||
this->registered = registered;
|
||||
this->binsize = sizeof(this->coll_id) // coll_id
|
||||
+ sizeof(this->base_id) // base_id
|
||||
// + sizeof(this->phserver_port) // phserver_port
|
||||
+ sizeof(long) // registered
|
||||
+ PAD // name (si null)
|
||||
#if GETPREFS
|
||||
+ PAD // prefs (si null)
|
||||
#endif
|
||||
;
|
||||
// + PAD; // phserver_host (si null)
|
||||
if(name)
|
||||
{
|
||||
lstr = strlen(name);
|
||||
lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->name = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->name_lenPAD = lram;
|
||||
memcpy(this->name, name, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->name[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
this->binsize += lram-PAD; // on avait d<>j<EFBFBD> compt<70> PAD
|
||||
}
|
||||
}
|
||||
#if GETPREFS
|
||||
if(prefs)
|
||||
{
|
||||
lstr = strlen(prefs);
|
||||
lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->prefs = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->prefs_lenPAD = lram;
|
||||
memcpy(this->prefs, prefs, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->prefs[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
this->binsize += lram-PAD; // on avait d<>j<EFBFBD> compt<70> PAD
|
||||
}
|
||||
}
|
||||
#endif
|
||||
// if(phserver_host)
|
||||
// {
|
||||
// lstr = strlen(phserver_host);
|
||||
// lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
// if(this->phserver_host = (char *)EMALLOC(lram))
|
||||
// {
|
||||
// this->phserver_host_lenPAD = lram;
|
||||
// memcpy(this->phserver_host, phserver_host, lstr+1);
|
||||
// while(lstr<lram)
|
||||
// this->phserver_host[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
// this->binsize += lram-PAD; // on avait d<>j<EFBFBD> compt<70> PAD
|
||||
// }
|
||||
// }
|
||||
this->nextcoll = NULL;
|
||||
}
|
||||
|
||||
long CACHE_COLL::get_binsize()
|
||||
{
|
||||
return(this->binsize);
|
||||
}
|
||||
|
||||
long *CACHE_COLL::serialize_bin(long *binbuff)
|
||||
{
|
||||
*binbuff++ = this->coll_id;
|
||||
*binbuff++ = this->base_id;
|
||||
// *binbuff++ = this->phserver_port;
|
||||
*binbuff++ = (long)(this->registered);
|
||||
if(this->name_lenPAD > 0)
|
||||
{
|
||||
memcpy(binbuff, this->name, this->name_lenPAD);
|
||||
binbuff += (this->name_lenPAD)/sizeof(long);
|
||||
}
|
||||
else
|
||||
{
|
||||
*binbuff++ = 0;
|
||||
}
|
||||
#if GETPREFS
|
||||
if(this->prefs_lenPAD > 0)
|
||||
{
|
||||
memcpy(binbuff, this->prefs, this->prefs_lenPAD);
|
||||
binbuff += (this->prefs_lenPAD)/sizeof(long);
|
||||
}
|
||||
else
|
||||
{
|
||||
*binbuff++ = 0;
|
||||
}
|
||||
#endif
|
||||
// if(this->phserver_host_lenPAD > 0)
|
||||
// {
|
||||
// memcpy(binbuff, this->phserver_host, this->phserver_host_lenPAD);
|
||||
// binbuff += (this->phserver_host_lenPAD)/sizeof(long);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// *binbuff++ = 0;
|
||||
// }
|
||||
return(binbuff);
|
||||
}
|
||||
|
||||
void CACHE_COLL::serialize_php(zval *zcolllist)
|
||||
{
|
||||
zval *zcoll;
|
||||
MAKE_STD_ZVAL(zcoll);
|
||||
array_init(zcoll);
|
||||
add_assoc_long(zcoll, (char *)"coll_id", this->coll_id);
|
||||
add_assoc_long(zcoll, (char *)"base_id", this->base_id);
|
||||
add_assoc_string(zcoll, (char *)"name", this->name, true);
|
||||
#if GETPREFS
|
||||
add_assoc_string(zcoll, (char *)"prefs", this->prefs, true);
|
||||
#endif
|
||||
// add_assoc_string(zcoll, "phserver_host", this->phserver_host, true);
|
||||
// add_assoc_long(zcoll, (char *)"phserver_port", this->phserver_port);
|
||||
add_assoc_bool(zcoll, (char *)"registered", this->registered);
|
||||
add_next_index_zval(zcolllist, zcoll);
|
||||
}
|
||||
|
||||
void CACHE_COLL::dump()
|
||||
{
|
||||
zend_printf("| | +--coll_id=%li\n", this->coll_id);
|
||||
zend_printf("| | | base_id=%li\n", this->base_id);
|
||||
zend_printf("| | | name='%s' (binsize=%li)\n", this->name ? this->name : "null", this->name_lenPAD);
|
||||
#if GETPREFS
|
||||
zend_printf("| | | prefs='%s' (binsize=%li)\n", this->prefs ? this->prefs : "null", this->prefs_lenPAD);
|
||||
#endif
|
||||
// zend_printf("| | | phserver_host='%s' (binsize=%li)\n", this->phserver_host ? this->phserver_host : "null", this->phserver_host_lenPAD);
|
||||
// zend_printf("| | | phserver_port=%li\n", this->phserver_port);
|
||||
zend_printf("| | | registered=%s\n", this->registered ? "TRUE":"FALSE");
|
||||
zend_printf("| | +--(coll binsize=%li)\n", this->get_binsize());
|
||||
zend_printf("| |\n");
|
||||
}
|
||||
|
||||
CACHE_COLL::~CACHE_COLL()
|
||||
{
|
||||
// zend_printf("DELETE COLL\n");
|
||||
if(this->name)
|
||||
{
|
||||
// zend_printf("lib<69>ration de name=%s\n", this->name);
|
||||
EFREE(this->name);
|
||||
this->name = NULL;
|
||||
}
|
||||
#if GETPREFS
|
||||
if(this->prefs)
|
||||
{
|
||||
// zend_printf("lib<69>ration de name=%s\n", this->name);
|
||||
EFREE(this->prefs);
|
||||
this->prefs = NULL;
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------------
|
||||
// CACHE_BASE
|
||||
|
||||
|
||||
|
||||
CACHE_BASE::CACHE_BASE(long base_id, char *host, long port, char *user, char *passwd, char *dbname, char *xmlstruct, long sbas_id, char *viewname, bool online)
|
||||
{
|
||||
// zend_printf("NEW BASE\n");
|
||||
this->online = online;
|
||||
this->base_id = base_id;
|
||||
this->sbas_id = sbas_id;
|
||||
this->port = port;
|
||||
this->engine = PHRASEA_MYSQLENGINE;
|
||||
this->conn = NULL;
|
||||
|
||||
this->viewname = NULL;
|
||||
this->viewname_lenPAD = PAD;
|
||||
if(viewname)
|
||||
{
|
||||
long lstr = strlen(viewname);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->viewname = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->viewname_lenPAD = lram;
|
||||
memcpy(this->viewname, viewname, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->viewname[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
|
||||
this->host = NULL;
|
||||
this->host_lenPAD = PAD;
|
||||
if(host)
|
||||
{
|
||||
long lstr = strlen(host);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->host = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->host_lenPAD = lram;
|
||||
memcpy(this->host, host, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->host[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
|
||||
this->user = NULL;
|
||||
this->user_lenPAD = PAD;
|
||||
if(user)
|
||||
{
|
||||
long lstr = strlen(user);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->user = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->user_lenPAD = lram;
|
||||
memcpy(this->user, user, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->user[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
|
||||
this->passwd = NULL;
|
||||
this->passwd_lenPAD = PAD;
|
||||
if(passwd)
|
||||
{
|
||||
long lstr = strlen(passwd);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->passwd = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->passwd_lenPAD = lram;
|
||||
memcpy(this->passwd, passwd, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->passwd[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
|
||||
this->dbname = NULL;
|
||||
this->dbname_lenPAD = PAD;
|
||||
if(dbname)
|
||||
{
|
||||
long lstr = strlen(dbname);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->dbname = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->dbname_lenPAD = lram;
|
||||
memcpy(this->dbname, dbname, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->dbname[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
|
||||
this->xmlstruct = NULL;
|
||||
this->xmlstruct_lenPAD = PAD;
|
||||
if(xmlstruct)
|
||||
{
|
||||
long lstr = strlen(xmlstruct);
|
||||
long lram = LSTRPAD(lstr); // place pour le '\0' final, arrondi au multiple de PAD sup<75>rieur
|
||||
if(this->xmlstruct = (char *)EMALLOC(lram))
|
||||
{
|
||||
this->xmlstruct_lenPAD = lram;
|
||||
memcpy(this->xmlstruct, xmlstruct, lstr+1);
|
||||
while(lstr<lram)
|
||||
this->xmlstruct[lstr++] = '\0'; // on compl<70>te avec des 0
|
||||
}
|
||||
}
|
||||
this->binsize = sizeof(this->base_id) // base_id
|
||||
+ sizeof(this->sbas_id) // sbas_id
|
||||
+ sizeof(long) // online
|
||||
+ this->viewname_lenPAD // viewname
|
||||
+ this->host_lenPAD // host
|
||||
+ sizeof(this->port) // port
|
||||
+ this->user_lenPAD // user
|
||||
+ this->passwd_lenPAD // pwd
|
||||
+ sizeof(this->engine) // engine
|
||||
+ this->dbname_lenPAD // dbname
|
||||
+ this->xmlstruct_lenPAD // xmlstruct
|
||||
+ sizeof(long); // nombre de coll
|
||||
this->firstcoll = NULL;
|
||||
this->nextbase = NULL;
|
||||
}
|
||||
|
||||
long CACHE_BASE::get_local_base_id(long distant_coll_id)
|
||||
{
|
||||
CACHE_COLL *cc;
|
||||
for(cc=this->firstcoll; cc && cc->coll_id != distant_coll_id; cc = cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
return(cc->base_id);
|
||||
return(-1);
|
||||
}
|
||||
/**
|
||||
idem que la version au dessus, mais avec verif qu'on est bien register dessus
|
||||
histoire de pb de droits
|
||||
plus d'infos : AS
|
||||
*/
|
||||
long CACHE_BASE::get_local_base_id2(long distant_coll_id)
|
||||
{
|
||||
CACHE_COLL *cc;
|
||||
for(cc=this->firstcoll; cc && cc->coll_id != distant_coll_id; cc = cc->nextcoll)
|
||||
;
|
||||
if(cc && cc->registered)
|
||||
return(cc->base_id);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
long CACHE_BASE::get_binsize()
|
||||
{
|
||||
long binsize = this->binsize;
|
||||
CACHE_COLL *cc;
|
||||
for(cc=this->firstcoll; cc ; cc = cc->nextcoll)
|
||||
binsize += cc->get_binsize();
|
||||
return(binsize);
|
||||
}
|
||||
|
||||
CACHE_COLL *CACHE_BASE::addcoll(long coll_id, long base_id, char *name, char *prefs, bool registered)
|
||||
{
|
||||
CACHE_COLL *cc, *ncc = new CACHE_COLL(coll_id, base_id, name, prefs, registered);
|
||||
for(cc=this->firstcoll; cc && cc->nextcoll; cc = cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
return(cc->nextcoll = ncc);
|
||||
else
|
||||
return(this->firstcoll = ncc);
|
||||
}
|
||||
|
||||
|
||||
void CACHE_BASE::dump()
|
||||
{
|
||||
CACHE_COLL *cc;
|
||||
zend_printf("| +--base_id=%li\n", this->base_id);
|
||||
zend_printf("| | sbas_id=%li\n", this->sbas_id);
|
||||
zend_printf("| | online=%s\n", this->online ? "TRUE":"FALSE");
|
||||
zend_printf("| | viewname=%s (binsize=%li)\n", this->viewname, this->viewname_lenPAD);
|
||||
zend_printf("| | host=%s (binsize=%li)\n", this->host, this->host_lenPAD);
|
||||
zend_printf("| | port=%li\n", this->port);
|
||||
zend_printf("| | user=%s (binsize=%li)\n", this->user, this->user_lenPAD);
|
||||
zend_printf("| | passwd=%s (binsize=%li)\n", this->passwd, this->passwd_lenPAD);
|
||||
// zend_printf("| | engine=%li\n", this->engine);
|
||||
zend_printf("| | dbname=%s (binsize=%li)\n", this->dbname, this->dbname_lenPAD);
|
||||
zend_printf("| | xmlstruct=%s (binsize=%li)\n", this->xmlstruct, this->xmlstruct_lenPAD);
|
||||
zend_printf("| | conn=%p\n", this->conn);
|
||||
for(cc = this->firstcoll; cc; cc = cc->nextcoll)
|
||||
cc->dump();
|
||||
zend_printf("| +--(base binsize=%li)\n", this->get_binsize());
|
||||
zend_printf("|\n");
|
||||
}
|
||||
|
||||
void CACHE_BASE::serialize_php(zval *zbaselist, bool everything)
|
||||
{
|
||||
CACHE_COLL *cc;
|
||||
zval *zbase, *zcolllist;
|
||||
MAKE_STD_ZVAL(zbase);
|
||||
array_init(zbase);
|
||||
add_assoc_long(zbase, (char *)"base_id", this->base_id);
|
||||
add_assoc_long(zbase, (char *)"sbas_id", this->sbas_id);
|
||||
add_assoc_bool(zbase, (char *)"online", this->online);
|
||||
add_assoc_string(zbase, (char *)"viewname", this->viewname, true);
|
||||
add_assoc_string(zbase, (char *)"host", this->host, true);
|
||||
add_assoc_long(zbase, (char *)"port", this->port);
|
||||
add_assoc_string(zbase, (char *)"user", this->user, true);
|
||||
add_assoc_string(zbase, (char *)"passwd", this->passwd, true);
|
||||
add_assoc_long(zbase, (char *)"engine", this->engine);
|
||||
add_assoc_string(zbase, (char *)"dbname", this->dbname, true);
|
||||
if(this->xmlstruct)
|
||||
add_assoc_string(zbase, (char *)"xmlstruct", this->xmlstruct, true);
|
||||
|
||||
MAKE_STD_ZVAL(zcolllist);
|
||||
array_init(zcolllist);
|
||||
for(cc = this->firstcoll; cc; cc = cc->nextcoll)
|
||||
{
|
||||
if(everything || cc->registered) // on ne retourne pas les collections (bases) sur lesquelles on n'est pas registered
|
||||
cc->serialize_php(zcolllist);
|
||||
}
|
||||
add_assoc_zval(zbase, (char *)"collections", zcolllist);
|
||||
add_next_index_zval(zbaselist, zbase);
|
||||
}
|
||||
|
||||
long *CACHE_BASE::serialize_bin(long *binbuff)
|
||||
{
|
||||
CACHE_COLL *cc;
|
||||
long ncolls = 0;
|
||||
long *p;
|
||||
*binbuff++ = this->base_id;
|
||||
|
||||
*binbuff++ = this->sbas_id;
|
||||
|
||||
*binbuff++ = (long)(this->online);
|
||||
|
||||
if(this->viewname)
|
||||
memcpy(binbuff, this->viewname, this->viewname_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->viewname_lenPAD / sizeof(long);
|
||||
|
||||
if(this->host)
|
||||
memcpy(binbuff, this->host, this->host_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->host_lenPAD / sizeof(long);
|
||||
|
||||
*binbuff++ = this->port;
|
||||
|
||||
if(this->user)
|
||||
memcpy(binbuff, this->user, this->user_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->user_lenPAD / sizeof(long);
|
||||
|
||||
if(this->passwd)
|
||||
memcpy(binbuff, this->passwd, this->passwd_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->passwd_lenPAD / sizeof(long);
|
||||
|
||||
*binbuff++ = this->engine;
|
||||
|
||||
if(this->dbname)
|
||||
memcpy(binbuff, this->dbname, this->dbname_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->dbname_lenPAD / sizeof(long);
|
||||
|
||||
// zend_printf("this->xmlstruct_lenPAD=%i\n", this->xmlstruct_lenPAD);
|
||||
if(this->xmlstruct)
|
||||
memcpy(binbuff, this->xmlstruct, this->xmlstruct_lenPAD);
|
||||
else
|
||||
*binbuff = 0x00000000;
|
||||
binbuff += this->xmlstruct_lenPAD / sizeof(long);
|
||||
|
||||
binbuff[0] = 0;
|
||||
p = binbuff+1;
|
||||
for(cc = this->firstcoll; cc; cc = cc->nextcoll)
|
||||
{
|
||||
binbuff[0]++;
|
||||
p = cc->serialize_bin(p);
|
||||
}
|
||||
return(p);
|
||||
}
|
||||
|
||||
CACHE_BASE::~CACHE_BASE()
|
||||
{
|
||||
// zend_printf("DELETE BASE\n");
|
||||
CACHE_COLL *cc;
|
||||
if(this->viewname)
|
||||
EFREE(this->viewname);
|
||||
if(this->host)
|
||||
EFREE(this->host);
|
||||
if(this->dbname)
|
||||
EFREE(this->dbname);
|
||||
if(this->user)
|
||||
EFREE(this->user);
|
||||
if(this->passwd)
|
||||
EFREE(this->passwd);
|
||||
if(this->xmlstruct)
|
||||
EFREE(this->xmlstruct);
|
||||
if(this->conn)
|
||||
delete(this->conn);
|
||||
while(this->firstcoll)
|
||||
{
|
||||
cc = this->firstcoll->nextcoll;
|
||||
delete this->firstcoll;
|
||||
this->firstcoll = cc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------------------------------------------------
|
||||
// CACHE_SESSION
|
||||
|
||||
|
||||
|
||||
|
||||
CACHE_SESSION::CACHE_SESSION(long session_id, SQLCONN *epublisher)
|
||||
{
|
||||
// zend_printf("NEW SESSION(%li)\n", session_id);
|
||||
this->session_id = session_id;
|
||||
this->epublisher = epublisher;
|
||||
this->firstbase = NULL;
|
||||
}
|
||||
|
||||
bool CACHE_SESSION::restore(long session_id)
|
||||
{
|
||||
// TSRMLS_FETCH();
|
||||
char sql[256];
|
||||
bool ret = false;
|
||||
sprintf(sql, "SELECT session FROM cache WHERE session_id=%li", session_id);
|
||||
SQLRES res(this->epublisher);
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
if(row && row->field(0))
|
||||
{
|
||||
unsigned long *lengths = res.fetch_lengths();
|
||||
if(lengths[0] > 0)
|
||||
{
|
||||
this->unserialize_bin(row->field(0));
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
#if(0)
|
||||
|
||||
bool CACHE_SESSION::save()
|
||||
{
|
||||
bool ret = false;
|
||||
unsigned int binlen, sqllen;
|
||||
char *sqlbuff;
|
||||
char *binbuff;
|
||||
binlen = this->serialize_bin(NULL); // obtient la taille maximum n<>cessaire
|
||||
if(binbuff = (char *)EMALLOC(binlen))
|
||||
{
|
||||
binlen = this->serialize_bin((long *)binbuff); // obtient la taille r<>elle et s<>rialise
|
||||
sqllen = epublisher->escape_string(binbuff, binlen, NULL); // obtient la taille maximum n<>cessaire
|
||||
if(sqlbuff = (char *)EMALLOC(sqllen))
|
||||
{
|
||||
char *sql;
|
||||
int l;
|
||||
sqllen = epublisher->escape_string(binbuff, binlen, sqlbuff); // escape et obtient la taille r<>elle
|
||||
l = sizeof("UPDATE cache SET session='' WHERE session_id=???????????") + sqllen;
|
||||
if(sql = (char *)EMALLOC(l))
|
||||
{
|
||||
sprintf(sql, "UPDATE cache SET session='%s' WHERE session_id=%li", sqlbuff, this->session_id);
|
||||
|
||||
if(epublisher->query(sql))
|
||||
{
|
||||
if(epublisher->affected_rows() == 1)
|
||||
ret = true;
|
||||
}
|
||||
EFREE(sql);
|
||||
}
|
||||
EFREE(sqlbuff);
|
||||
}
|
||||
EFREE(binbuff);
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
bool CACHE_SESSION::save()
|
||||
{
|
||||
bool ret = false;
|
||||
MYSQL_STMT *stmt;
|
||||
MYSQL_BIND bind[2];
|
||||
char *query = (char *)("UPDATE cache SET session=? WHERE session_id=?");
|
||||
char *binbuff;
|
||||
unsigned long binlen;
|
||||
int session_id = this->session_id;
|
||||
MYSQL *mysql = (MYSQL *)epublisher->get_native_conn();
|
||||
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if( (stmt = mysql_stmt_init(mysql)) )
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if( (mysql_stmt_prepare(stmt, query, strlen(query))) == 0 )
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
binlen = this->get_binsize(); // obtient la taille maximum n<>cessaire
|
||||
if(binbuff = (char *)EMALLOC(binlen))
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
binlen = this->serialize_bin((long *)binbuff); // s<>rialise et obtient la taille r<>elle
|
||||
|
||||
//zend_printf("LINE %i binlen=%li <br/>\n", __LINE__, binlen);
|
||||
bind[0].buffer_type = MYSQL_TYPE_VAR_STRING;
|
||||
bind[0].buffer = binbuff;
|
||||
bind[0].buffer_length = binlen;
|
||||
bind[0].is_null= 0;
|
||||
bind[0].length= &binlen;
|
||||
|
||||
bind[1].buffer_type= MYSQL_TYPE_LONG;
|
||||
bind[1].buffer= (char *)&session_id;
|
||||
bind[1].is_null= 0;
|
||||
bind[1].length= 0;
|
||||
|
||||
if (mysql_stmt_bind_param(stmt, bind) == 0)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if (mysql_stmt_execute(stmt) == 0)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if(mysql_stmt_affected_rows(stmt) == 1)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
ret = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
EFREE(binbuff);
|
||||
}
|
||||
}
|
||||
mysql_stmt_close(stmt);
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
long CACHE_SESSION::get_binsize()
|
||||
{
|
||||
long binsize = sizeof(this->session_id) + sizeof(long);
|
||||
CACHE_BASE *cb;
|
||||
for(cb=this->firstbase; cb; cb = cb->nextbase)
|
||||
binsize += cb->get_binsize();
|
||||
return(binsize);
|
||||
}
|
||||
/*
|
||||
CACHE_BASE *CACHE_SESSION::getCacheBase()
|
||||
{
|
||||
return (this->firstbase);
|
||||
}
|
||||
*/
|
||||
SQLCONN *CACHE_SESSION::connect(long base_id)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
CACHE_COLL *cc;
|
||||
SQLCONN *conn = NULL;
|
||||
// zend_printf("trying to connect %i<br>\n", base_id);
|
||||
for(cb=this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
for(cc=cb->firstcoll; cc && cc->base_id != base_id; cc=cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
break;
|
||||
}
|
||||
if(cb)
|
||||
{
|
||||
// zend_printf("trying to connect %i-%i<br>\n", base_id, cb->base_id);
|
||||
if(cb->conn)
|
||||
return(cb->conn);
|
||||
return(cb->conn = new SQLCONN(cb->host, cb->port, cb->user, cb->passwd, cb->dbname));
|
||||
// this->dump();
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
long CACHE_SESSION::get_session_id()
|
||||
{
|
||||
return(this->session_id);
|
||||
}
|
||||
|
||||
long CACHE_SESSION::get_local_base_id(long local_base_id, long distant_coll_id)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
for(cb=this->firstbase; cb && cb->base_id != local_base_id; cb = cb->nextbase)
|
||||
;
|
||||
if(cb)
|
||||
return(cb->get_local_base_id(distant_coll_id));
|
||||
return(-1);
|
||||
}
|
||||
/*
|
||||
idem que la version du dessus, a la difference que local_base_id peut etre une coll fille et non la coll mere
|
||||
plus d'explication : AS
|
||||
*/
|
||||
long CACHE_SESSION::get_local_base_id2(long local_base_id, long distant_coll_id)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
CACHE_COLL *cc;
|
||||
for(cb=this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
for(cc=cb->firstcoll; cc && cc->base_id != local_base_id; cc=cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
break;
|
||||
}
|
||||
if(cb)
|
||||
return(cb->get_local_base_id2(distant_coll_id));
|
||||
return(-1);
|
||||
}
|
||||
|
||||
long CACHE_SESSION::get_distant_coll_id(long local_base_id)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
CACHE_COLL *cc;
|
||||
for(cb=this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
for(cc=cb->firstcoll; cc && cc->base_id != local_base_id; cc = cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
return(cc->coll_id);
|
||||
}
|
||||
return(-1);
|
||||
}
|
||||
|
||||
void CACHE_SESSION::set_registered(long local_base_id, bool registered)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
CACHE_COLL *cc;
|
||||
for(cb=this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
for(cc=cb->firstcoll; cc && cc->base_id != local_base_id; cc = cc->nextcoll)
|
||||
;
|
||||
if(cc)
|
||||
cc->registered = registered;
|
||||
}
|
||||
}
|
||||
|
||||
CACHE_BASE *CACHE_SESSION::addbase(long base_id, char *host, long port, char *user, char *passwd, char *dbname, char *xmlstruct, long sbas_id, char *viewname, bool online)
|
||||
{
|
||||
CACHE_BASE *cb, *ncb = new CACHE_BASE(base_id, host, port, user, passwd, dbname, xmlstruct, sbas_id, viewname, online);
|
||||
for(cb=this->firstbase; cb && cb->nextbase; cb = cb->nextbase)
|
||||
;
|
||||
if(cb)
|
||||
return(cb->nextbase = ncb);
|
||||
else
|
||||
return(this->firstbase = ncb);
|
||||
}
|
||||
|
||||
void CACHE_SESSION::dump()
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
zend_printf("<pre>+--session_id=%li\n", this->session_id);
|
||||
for(cb = this->firstbase; cb; cb = cb->nextbase)
|
||||
cb->dump();
|
||||
zend_printf("+-- (session binsize=%li)\n", this->get_binsize());
|
||||
zend_printf("</pre>\n");
|
||||
}
|
||||
|
||||
void CACHE_SESSION::serialize_php(zval *result, bool everything)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
CACHE_COLL *cc;
|
||||
bool basereg;
|
||||
zval *zbaselist;
|
||||
array_init(result);
|
||||
add_assoc_long(result, (char *)"session_id", this->session_id);
|
||||
MAKE_STD_ZVAL(zbaselist);
|
||||
array_init(zbaselist);
|
||||
for(cb = this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
basereg = everything;
|
||||
for(cc=cb->firstcoll; !basereg && cc; cc=cc->nextcoll)
|
||||
basereg = cc->registered;
|
||||
|
||||
if(everything || (cb->online && basereg)) // on ne retourne pas les bases offline
|
||||
cb->serialize_php(zbaselist, everything);
|
||||
}
|
||||
add_assoc_zval(result, (char *)"bases", zbaselist);
|
||||
}
|
||||
|
||||
int CACHE_SESSION::serialize_bin(long *binbuff = NULL)
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
unsigned int l = this->get_binsize();
|
||||
long nbases = 0;
|
||||
// int written;
|
||||
long *p;
|
||||
if(binbuff == NULL)
|
||||
return(l); // on demande juste la taille maximum n<>cessaire
|
||||
// zend_printf("CACHE_SESSION::serialize_bin()\n");
|
||||
binbuff[0] = this->session_id;
|
||||
binbuff[1] = 0;
|
||||
p = binbuff+2;
|
||||
for(cb = this->firstbase; cb; cb = cb->nextbase)
|
||||
{
|
||||
binbuff[1]++;
|
||||
p = cb->serialize_bin(p);
|
||||
}
|
||||
// written = ((char *)p) - ((char *)(binbuff));
|
||||
// zend_printf("CACHE_SESSION::serialize_bin returning l=%i, written=%i\n", l, written);
|
||||
return(l);
|
||||
}
|
||||
|
||||
void CACHE_SESSION::unserialize_bin(char *bin)
|
||||
{
|
||||
// zend_printf("CACHE_SESSION::unserialize_bin()\n");
|
||||
unsigned long *p = (unsigned long *)bin;
|
||||
this->session_id = p[0];
|
||||
unsigned long nbases = p[1];
|
||||
p += 2;
|
||||
CACHE_BASE *cb;
|
||||
while(nbases--)
|
||||
{
|
||||
long base_id = *p++;
|
||||
long sbas_id = *p++;
|
||||
bool online = *p++ ? true : false;
|
||||
char *viewname = (char *)p;
|
||||
p += LSTRPAD(strlen(viewname)) / sizeof(long);
|
||||
char *host = (char *)p;
|
||||
p += LSTRPAD(strlen(host)) / sizeof(long);
|
||||
long port = *p++;
|
||||
char *user = (char *)p;
|
||||
p += LSTRPAD(strlen(user)) / sizeof(long);
|
||||
char *passwd = (char *)p;
|
||||
p += LSTRPAD(strlen(passwd)) / sizeof(long);
|
||||
long engine = *p++;
|
||||
char *dbname = (char *)p;
|
||||
p += LSTRPAD(strlen(dbname)) / sizeof(long);
|
||||
char *xmlstruct = (char *)p;
|
||||
p += LSTRPAD(strlen(xmlstruct)) / sizeof(long);
|
||||
unsigned long ncoll = *p++;
|
||||
|
||||
cb = this->addbase(base_id, host, port, user, passwd, dbname, xmlstruct, sbas_id, viewname, online);
|
||||
|
||||
while(ncoll--)
|
||||
{
|
||||
int l;
|
||||
long coll_id = *p++;
|
||||
|
||||
long base_id = *p++;
|
||||
|
||||
// long phserver_port = *p++;
|
||||
long registered = *p++;
|
||||
|
||||
char *name = (char *)p;
|
||||
l = LSTRPAD(strlen(name));
|
||||
p += l/sizeof(long);
|
||||
#if GETPREFS
|
||||
|
||||
char *prefs = (char *)p;
|
||||
l = LSTRPAD(strlen(prefs));
|
||||
p += l/sizeof(long);
|
||||
#endif
|
||||
// char *phserver_host = (char *)p;
|
||||
// l = LSTRPAD(strlen(phserver_host));
|
||||
// p += l/sizeof(long);
|
||||
|
||||
// cb->addcoll(coll_id, base_id, name, phserver_host, phserver_port, registered ? true : false);
|
||||
cb->addcoll(coll_id, base_id, name, prefs, registered ? true : false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CACHE_SESSION::~CACHE_SESSION()
|
||||
{
|
||||
CACHE_BASE *cb;
|
||||
// zend_printf("DELETE SESSION(%li)\n", this->session_id);
|
||||
while(this->firstbase)
|
||||
{
|
||||
cb = this->firstbase->nextbase;
|
||||
delete this->firstbase;
|
||||
this->firstbase = cb;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
97
bin/src/php_phrasea2/phrasea_engine/cache.h
Executable file
97
bin/src/php_phrasea2/phrasea_engine/cache.h
Executable file
@@ -0,0 +1,97 @@
|
||||
#ifndef CACHE_H
|
||||
#define CACHE_H 1
|
||||
|
||||
#include "sql.h" // define SQLCONN
|
||||
|
||||
class CACHE_COLL
|
||||
{
|
||||
public:
|
||||
CACHE_COLL(long coll_id, long base_id, char *name, char *prefs, bool registered);
|
||||
~CACHE_COLL();
|
||||
friend class CACHE_BASE;
|
||||
friend class CACHE_SESSION;
|
||||
private:
|
||||
bool registered;
|
||||
void dump();
|
||||
void serialize_php(zval *colllist);
|
||||
long *serialize_bin(long *p);
|
||||
long coll_id;
|
||||
long base_id;
|
||||
char *name;
|
||||
char *prefs;
|
||||
// char *phserver_host;
|
||||
// long phserver_port;
|
||||
class CACHE_COLL *nextcoll;
|
||||
long binsize;
|
||||
long name_lenPAD;
|
||||
long prefs_lenPAD;
|
||||
// long phserver_host_lenPAD;
|
||||
long get_binsize();
|
||||
};
|
||||
|
||||
class CACHE_BASE
|
||||
{
|
||||
public:
|
||||
CACHE_BASE(long base_id, char *host, long port, char *user, char *passwd, char *dbname, char *xmlstruct, long sbas_id, char *viewname, bool online);
|
||||
~CACHE_BASE();
|
||||
CACHE_COLL *addcoll(long coll_id, long base_id, char *name, char *prefs, bool registered);
|
||||
friend class CACHE_SESSION;
|
||||
private:
|
||||
bool online;
|
||||
SQLCONN *conn;
|
||||
long base_id;
|
||||
long sbas_id;
|
||||
char *host;
|
||||
long host_lenPAD;
|
||||
char *viewname;
|
||||
long viewname_lenPAD;
|
||||
long port;
|
||||
char *user;
|
||||
long user_lenPAD;
|
||||
char *passwd;
|
||||
long passwd_lenPAD;
|
||||
long engine;
|
||||
char *dbname;
|
||||
long dbname_lenPAD;
|
||||
char *xmlstruct;
|
||||
long xmlstruct_lenPAD;
|
||||
long binsize;
|
||||
void dump();
|
||||
void serialize_php(zval *zbaselist, bool everything);
|
||||
long *serialize_bin(long *p);
|
||||
CACHE_COLL *firstcoll;
|
||||
class CACHE_BASE *nextbase;
|
||||
long get_binsize();
|
||||
long get_local_base_id(long distant_coll_id);
|
||||
long get_local_base_id2(long distant_coll_id);
|
||||
};
|
||||
|
||||
class CACHE_SESSION
|
||||
{
|
||||
public:
|
||||
CACHE_SESSION(long session_id, SQLCONN *epublisher);
|
||||
bool save();
|
||||
bool restore(long session_id);
|
||||
~CACHE_SESSION();
|
||||
CACHE_BASE *addbase(long base_id, char *host, long port, char *user, char *passwd, char *dbname, char *xmlstruct, long sbas_id, char *viewname, bool online);
|
||||
void dump();
|
||||
void serialize_php(zval *result, bool everything);
|
||||
// char *serialize_bin(unsigned int *lbin);
|
||||
int serialize_bin(long *binbuff);
|
||||
void unserialize_bin(char *bin);
|
||||
long get_session_id();
|
||||
long get_local_base_id(long local_base_id, long distant_coll_id);
|
||||
long get_local_base_id2(long local_base_id, long distant_coll_id);
|
||||
long get_distant_coll_id(long local_base_id);
|
||||
SQLCONN *connect(long base_id);
|
||||
void set_registered(long local_base_id, bool registered);
|
||||
private:
|
||||
SQLCONN *epublisher;
|
||||
long session_id;
|
||||
// long usr_id;
|
||||
CACHE_BASE *firstbase;
|
||||
long get_binsize();
|
||||
// long *binbuff;
|
||||
};
|
||||
|
||||
#endif
|
54
bin/src/php_phrasea2/phrasea_engine/emptyw.cpp
Executable file
54
bin/src/php_phrasea2/phrasea_engine/emptyw.cpp
Executable file
@@ -0,0 +1,54 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
|
||||
PHP_FUNCTION(phrasea_emptyw)
|
||||
{
|
||||
long zsession = -1, zbaseid = -1;
|
||||
if(ZEND_NUM_ARGS()==2)
|
||||
{
|
||||
if(zend_parse_parameters(2 TSRMLS_CC, (char *)"ll", &zsession, &zbaseid) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
/*
|
||||
if(!global_session || global_session->get_session_id() != zsession)
|
||||
{
|
||||
// zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(zsession))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != zsession)
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(zbaseid);
|
||||
if(conn)
|
||||
{
|
||||
SQLRES res(conn);
|
||||
if(res.query((char *)"SELECT word FROM emptyw"))
|
||||
{
|
||||
SQLROW *row;
|
||||
array_init(return_value);
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
add_assoc_long(return_value, row->field(0), 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
288
bin/src/php_phrasea2/phrasea_engine/fetchresults.cpp
Executable file
288
bin/src/php_phrasea2/phrasea_engine/fetchresults.cpp
Executable file
@@ -0,0 +1,288 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
#include "phrasea_clock_t.h"
|
||||
|
||||
|
||||
typedef struct hbal
|
||||
{
|
||||
unsigned long offset;
|
||||
bool closing;
|
||||
}
|
||||
HBAL;
|
||||
|
||||
char THEX[] = "0123456789ABCDEF";
|
||||
|
||||
ZEND_FUNCTION(phrasea_fetch_results)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
long zsession, zfirstanswer, znanswers;
|
||||
long getxml = false;
|
||||
char *markin=NULL, *markout=NULL;
|
||||
int markin_l=0, markout_l=0;
|
||||
zval *zanswers, *zanswer;
|
||||
char tmpstr[1024]; // buffer pour formater les messages 'courts' (messages d'erreur...)
|
||||
CHRONO chrono;
|
||||
if(ZEND_NUM_ARGS()==3)
|
||||
{
|
||||
if(zend_parse_parameters(3 TSRMLS_CC, (char *)"lll", &zsession, &zfirstanswer, &znanswers) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"lllb", &zsession, &zfirstanswer, &znanswers, &getxml) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==6)
|
||||
{
|
||||
if(zend_parse_parameters(6 TSRMLS_CC, (char *)"lllbss", &zsession, &zfirstanswer, &znanswers, &getxml, &markin, &markin_l, &markout, &markout_l) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
}
|
||||
|
||||
// on a besoin de l'objet session uniquement si on demande le xml
|
||||
if(getxml)
|
||||
{
|
||||
/*
|
||||
if(!global_session || global_session->get_session_id() != zsession)
|
||||
{
|
||||
// zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(zsession))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != zsession)
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(tmpstr, "UPDATE cache SET nact=nact+1, lastaccess=NOW() WHERE session_id=%li", zsession);
|
||||
// zend_printf("tmpstr=%s<br>\n", tmpstr);
|
||||
if(epublisher->query(tmpstr) && (epublisher->affected_rows() == 1))
|
||||
{
|
||||
SQLRES res(epublisher);
|
||||
if(zfirstanswer < 1)
|
||||
zfirstanswer = 1;
|
||||
|
||||
CACHE_ANSWER *panswer = NULL;
|
||||
FILE *fp_answers = NULL;
|
||||
unsigned int nanswers_incache = 0;
|
||||
|
||||
|
||||
char *fname;
|
||||
int l = strlen(PHRASEA2_G(tempPath))
|
||||
+ 9 // "_phrasea."
|
||||
+ strlen(epublisher->ukey)
|
||||
+ 9 // ".answers."
|
||||
+ 33 // zsession
|
||||
+1; // '\0'
|
||||
if( (fname = (char *)EMALLOC(l)) )
|
||||
{
|
||||
sprintf(fname, "%s_phrasea.%s.answers.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, zsession);
|
||||
|
||||
startChrono(chrono);
|
||||
if( (fp_answers = fopen(fname, "rb")) )
|
||||
{
|
||||
unsigned int answer_index0 = zfirstanswer-1;
|
||||
if( (fseek(fp_answers, answer_index0 * sizeof(CACHE_ANSWER), SEEK_SET)) == 0)
|
||||
{
|
||||
unsigned int nanswers_toread = znanswers;
|
||||
if(panswer = (CACHE_ANSWER *)EMALLOC(nanswers_toread * sizeof(CACHE_ANSWER)))
|
||||
{
|
||||
nanswers_incache = fread(panswer, sizeof(CACHE_ANSWER), nanswers_toread, fp_answers);
|
||||
|
||||
CACHE_SPOT *pspot = NULL;
|
||||
FILE *fp_spots = NULL;
|
||||
unsigned int nspots_incache = 0;
|
||||
unsigned int spot_index0 = 0;
|
||||
|
||||
sprintf(fname, "%s_phrasea.%s.spots.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, zsession);
|
||||
|
||||
if( (fp_spots = fopen(fname, "rb")) )
|
||||
{
|
||||
spot_index0 = panswer[0].spots_index;
|
||||
if( fseek(fp_spots, spot_index0 * sizeof(CACHE_SPOT), SEEK_SET) == 0 )
|
||||
{
|
||||
unsigned int nspots_toread = 0;
|
||||
for(unsigned int a=0; a < nanswers_incache; a++)
|
||||
nspots_toread += panswer[a].nspots;
|
||||
|
||||
if( pspot = (CACHE_SPOT *)EMALLOC(nspots_toread * sizeof(CACHE_SPOT)) )
|
||||
{
|
||||
nspots_incache = fread(pspot, sizeof(CACHE_SPOT), nspots_toread, fp_spots);
|
||||
}
|
||||
}
|
||||
fclose(fp_spots);
|
||||
}
|
||||
|
||||
array_init(return_value);
|
||||
|
||||
add_assoc_double(return_value, (char *)"time_readCache", stopChrono(chrono));
|
||||
|
||||
char hex_status[16+1];
|
||||
unsigned long long llstatus;
|
||||
|
||||
MAKE_STD_ZVAL(zanswers);
|
||||
array_init(zanswers);
|
||||
|
||||
for(unsigned int a=0; a < nanswers_incache; a++)
|
||||
{
|
||||
MAKE_STD_ZVAL(zanswer);
|
||||
array_init(zanswer);
|
||||
|
||||
add_assoc_long(zanswer, (char *)"base_id", panswer[a].bid);
|
||||
add_assoc_long(zanswer, (char *)"record_id", panswer[a].rid);
|
||||
add_assoc_long(zanswer, (char *)"parent_record_id", panswer[a].prid);
|
||||
llstatus = panswer[a].llstatus;
|
||||
memset(hex_status, '0', 17);
|
||||
register char *p;
|
||||
for(p=(hex_status+15); llstatus; p--)
|
||||
{
|
||||
*p = THEX[llstatus & 0x000000000000000F];
|
||||
llstatus >>= 4;
|
||||
}
|
||||
add_assoc_stringl(zanswer, (char *)"status", hex_status, 16, TRUE);
|
||||
|
||||
// to debug -----------
|
||||
// add_assoc_long(zanswer, (char *)"_spots_index", panswer[a].spots_index);
|
||||
// add_assoc_long(zanswer, (char *)"_nspots", panswer[a].nspots);
|
||||
// --------------------
|
||||
|
||||
if(getxml)
|
||||
{
|
||||
// zend_printf("nspots = %d \n", nspots);
|
||||
//RETURN_FALSE;
|
||||
//nspots = 0;
|
||||
startChrono(chrono);
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(panswer[a].bid);
|
||||
add_assoc_double(zanswer, (char *)"time_dboxConnect", stopChrono(chrono));
|
||||
|
||||
if(conn)
|
||||
{
|
||||
SQLRES res(conn);
|
||||
sprintf(tmpstr, "SELECT xml FROM record WHERE record_id=%i", panswer[a].rid);
|
||||
startChrono(chrono);
|
||||
if(res.query(tmpstr))
|
||||
{
|
||||
add_assoc_double(zanswer, (char *)"time_xmlQuery", stopChrono(chrono));
|
||||
SQLROW *row;
|
||||
char *xml;
|
||||
startChrono(chrono);
|
||||
if(row = res.fetch_row())
|
||||
{
|
||||
add_assoc_double(zanswer, (char *)"time_xmlFetch", stopChrono(chrono));
|
||||
unsigned long *siz = res.fetch_lengths();
|
||||
unsigned long xmlsize = siz[0]+1;
|
||||
// zend_printf("xmlsize=%li<br>\n", xmlsize);
|
||||
// on compte les spots
|
||||
unsigned long s0 = (panswer[a].spots_index - spot_index0);
|
||||
|
||||
// on dimensionne le xml highlight<68>
|
||||
unsigned int nspots = panswer[a].nspots;
|
||||
|
||||
if(xml = (char *)EMALLOC(xmlsize + (nspots * (markin_l+markout_l))))
|
||||
{
|
||||
memcpy(xml, row->field(0), xmlsize);
|
||||
// zend_printf("bid=%li, rid=%li ; xmlsize=%ld<br>\n", panswer[a].bid, panswer[a].rid, xmlsize);
|
||||
|
||||
if(nspots>0 && markin && markout)
|
||||
{
|
||||
HBAL *h;
|
||||
if(h = (HBAL *)EMALLOC(2 * nspots * sizeof(HBAL)))
|
||||
{
|
||||
// on trie les spots en d<>croissant
|
||||
unsigned int s, ss;
|
||||
unsigned long t;
|
||||
bool b;
|
||||
for(s=0; s < nspots; s++)
|
||||
{
|
||||
h[s*2].offset = pspot[s0+s].start;
|
||||
h[s*2].closing = false;
|
||||
h[(s*2) + 1].offset = pspot[s0+s].start + pspot[s0+s].len;
|
||||
h[(s*2) + 1].closing = true;
|
||||
}
|
||||
for(s=0; s<(nspots*2)-1; s++)
|
||||
{
|
||||
for(ss=s+1; ss<(nspots*2); ss++)
|
||||
{
|
||||
if(h[s].offset < h[ss].offset)
|
||||
{
|
||||
t = h[s].offset;
|
||||
h[s].offset = h[ss].offset;
|
||||
h[ss].offset = t;
|
||||
b = h[s].closing;
|
||||
h[s].closing = h[ss].closing;
|
||||
h[ss].closing = b;
|
||||
}
|
||||
}
|
||||
}
|
||||
// on ins<6E>re les balises
|
||||
for(s=0; s<nspots*2; s++)
|
||||
{
|
||||
// zend_printf("bid=%li, rid=%li ; fetch : h[%li] = {%li , %i}<br>\n", panswer[a].bid, panswer[a].rid, s, h[s].offset, h[s].closing);
|
||||
if(h[s].closing && markout_l>0)
|
||||
{
|
||||
memmove(xml+h[s].offset+markout_l, xml+h[s].offset, xmlsize-h[s].offset);
|
||||
memcpy(xml+h[s].offset, markout, markout_l);
|
||||
xmlsize += markout_l;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!h[s].closing && markin_l>0)
|
||||
{
|
||||
memmove(xml+h[s].offset+markin_l, xml+h[s].offset, xmlsize-h[s].offset);
|
||||
memcpy(xml+h[s].offset, markin, markin_l);
|
||||
xmlsize += markin_l;
|
||||
}
|
||||
}
|
||||
}
|
||||
EFREE(h);
|
||||
}
|
||||
}
|
||||
add_assoc_string(zanswer, (char *)"xml", xml, true);
|
||||
|
||||
EFREE(xml);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
add_next_index_zval(zanswers, zanswer);
|
||||
}
|
||||
add_assoc_zval(return_value, (char *)"results", zanswers);
|
||||
|
||||
if(pspot)
|
||||
EFREE(pspot);
|
||||
EFREE(panswer);
|
||||
}
|
||||
}
|
||||
fclose(fp_answers);
|
||||
}
|
||||
EFREE(fname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
337
bin/src/php_phrasea2/phrasea_engine/grouping.cpp
Executable file
337
bin/src/php_phrasea2/phrasea_engine/grouping.cpp
Executable file
@@ -0,0 +1,337 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
/*
|
||||
* renvoie un array avec les fils du grp pass<73> en param
|
||||
*/
|
||||
ZEND_FUNCTION(phrasea_grpchild)
|
||||
{
|
||||
zval zsession, zbaseid, zrid ;
|
||||
char *zsit;
|
||||
int zsitlen;
|
||||
|
||||
char *zusr;
|
||||
int zusrlen;
|
||||
|
||||
long ztotalchildren;
|
||||
long totchild = 0;
|
||||
|
||||
zval *zchild;
|
||||
MAKE_STD_ZVAL(zchild);
|
||||
array_init(zchild);
|
||||
|
||||
ztotalchildren = 0;
|
||||
|
||||
if(ZEND_NUM_ARGS()==5)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"lllss", &zsession, &zbaseid, &zrid, &zsit, &zsitlen, &zusr , &zusrlen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==6)
|
||||
{
|
||||
if(zend_parse_parameters(6 TSRMLS_CC, (char *)"lllssl", &zsession, &zbaseid, &zrid, &zsit, &zsitlen, &zusr , &zusrlen,&ztotalchildren) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[512];
|
||||
SQLRES res(conn);
|
||||
|
||||
if(ztotalchildren)
|
||||
{
|
||||
sprintf(sql, "SELECT SUM(1) AS totalchildren FROM regroup,record WHERE rid_parent=%li AND rid_child=record.record_id", Z_LVAL(zrid));
|
||||
if(res.query(sql))
|
||||
{
|
||||
if( res.get_nrows()==1 )
|
||||
{
|
||||
SQLROW *row;
|
||||
if(row = res.fetch_row())
|
||||
{
|
||||
if( row->field(0) )
|
||||
{
|
||||
totchild = atoi(row->field(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sprintf(sql, "SELECT record_id,record.coll_id FROM regroup INNER JOIN (record INNER JOIN collusr ON site='%s' AND usr_id=%s AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=0) ON (regroup.rid_child=record.record_id and regroup.rid_parent=%li) ORDER BY regroup.ord ASC, dateadd ASC, record_id ASC" ,zsit,zusr, Z_LVAL(zrid));
|
||||
if(res.query(sql))
|
||||
{
|
||||
if( res.get_nrows()<1 )
|
||||
{
|
||||
RETURN_NULL();
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLROW *row;
|
||||
int nb=0;
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
long current_bid = PHRASEA2_G(global_session)->get_local_base_id2( Z_LVAL(zbaseid) , atoi(row->field(1)) );
|
||||
if(current_bid!=-1)
|
||||
{
|
||||
zval *ztmprec;
|
||||
MAKE_STD_ZVAL(ztmprec);
|
||||
array_init(ztmprec);
|
||||
add_next_index_long(ztmprec, current_bid);
|
||||
add_next_index_long(ztmprec, atoi(row->field(0)));
|
||||
add_next_index_zval(zchild, ztmprec );
|
||||
nb++;
|
||||
}
|
||||
}
|
||||
if(nb==0)
|
||||
RETURN_NULL();
|
||||
if(ztotalchildren)
|
||||
add_assoc_long (zchild, (char *)"totalchildren" ,totchild );
|
||||
}
|
||||
}
|
||||
}
|
||||
RETURN_ZVAL ( zchild, true, true );
|
||||
}
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_grpforselection)
|
||||
{
|
||||
|
||||
// long highlightlen;
|
||||
char *highlight = NULL;
|
||||
zval zsession, zbaseid;
|
||||
|
||||
char *zridlist;
|
||||
int zridlistlen;
|
||||
|
||||
char *zsit;
|
||||
int zsitlen;
|
||||
|
||||
zval zusr;
|
||||
|
||||
zval *zchild;
|
||||
MAKE_STD_ZVAL(zchild);
|
||||
array_init(zchild);
|
||||
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==5)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"llssl", &zsession, &zbaseid, &zridlist, &zridlistlen, &zsit, &zsitlen, &zusr) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
RETVAL_FALSE;
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[2048];
|
||||
SQLRES res(conn);
|
||||
|
||||
// sprintf(sql, "SELECT record_id,parent_record_id FROM record WHERE record_id=%i", Z_LVAL(zrid));
|
||||
sprintf(sql, "SELECT record_id,record.coll_id, xml FROM (record INNER JOIN collusr ON record_id IN (%s) AND site='%s' AND usr_id=%ld AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND parent_record_id=record_id )", zridlist, zsit, Z_LVAL(zusr) );
|
||||
|
||||
if(res.query(sql))
|
||||
{
|
||||
if( res.get_nrows()<1 )
|
||||
{
|
||||
RETURN_NULL();
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLROW *row;
|
||||
int nb=0;
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
long current_bid = PHRASEA2_G(global_session)->get_local_base_id2( Z_LVAL(zbaseid) , atoi(row->field(1)) );
|
||||
if(current_bid!=-1)
|
||||
{
|
||||
zval *ztmprec;
|
||||
MAKE_STD_ZVAL(ztmprec);
|
||||
array_init(ztmprec);
|
||||
add_next_index_long(ztmprec, current_bid);
|
||||
add_next_index_long(ztmprec, atoi(row->field(0)));
|
||||
|
||||
add_next_index_string(ztmprec, ((char*)((row->field(2)))) , 1 );
|
||||
|
||||
//add_next_index_string(ztmprec, (row->field(2)) );
|
||||
add_next_index_zval(zchild, ztmprec );
|
||||
nb++;
|
||||
}
|
||||
}
|
||||
if(nb==0)
|
||||
RETURN_NULL();
|
||||
}
|
||||
}
|
||||
}
|
||||
RETURN_ZVAL ( zchild, true, true );
|
||||
}
|
||||
|
||||
/*
|
||||
* Donne les records parent d'un record pass<73> en param
|
||||
*/
|
||||
ZEND_FUNCTION(phrasea_grpparent)
|
||||
{
|
||||
// long highlightlen;
|
||||
char *highlight = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
char *zsit;
|
||||
int zsitlen;
|
||||
zval zusr;
|
||||
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
|
||||
if(ZEND_NUM_ARGS()==5)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"lllsl", &zsession, &zbaseid, &zrid, &zsit, &zsitlen, &zusr) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
RETVAL_FALSE;
|
||||
|
||||
zval *zprid;
|
||||
MAKE_STD_ZVAL(zprid);
|
||||
array_init(zprid);
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[512];
|
||||
SQLRES res(conn);
|
||||
|
||||
sprintf(sql, "SELECT record.record_id, record.coll_id FROM regroup INNER JOIN (record INNER JOIN collusr ON site='%s' AND usr_id=%ld AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=record.record_id) ON (regroup.rid_parent=record.record_id) WHERE rid_child=%ld", zsit , Z_LVAL(zusr) ,Z_LVAL(zrid));
|
||||
//zend_printf("SQL : %s\n", sql );
|
||||
|
||||
// sprintf(sql, "select rid_parent from regroup where rid_child=%i", Z_LVAL(zrid));
|
||||
if(res.query(sql))
|
||||
{
|
||||
if( res.get_nrows()<1 )
|
||||
{
|
||||
RETURN_NULL();
|
||||
}
|
||||
else
|
||||
{
|
||||
SQLROW *row;
|
||||
int nb = 0 ;
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
//add_next_index_long(zprid, atoi(row->field(0)));
|
||||
|
||||
long current_bid = PHRASEA2_G(global_session)->get_local_base_id2( Z_LVAL(zbaseid) , atoi(row->field(1)) );
|
||||
if(current_bid!=-1)
|
||||
{
|
||||
zval *ztmprec;
|
||||
MAKE_STD_ZVAL(ztmprec);
|
||||
array_init(ztmprec);
|
||||
add_next_index_long(ztmprec, current_bid);
|
||||
add_next_index_long(ztmprec, atoi(row->field(0)));
|
||||
add_next_index_zval(zprid, ztmprec );
|
||||
nb++;
|
||||
}
|
||||
}
|
||||
if(nb==0)
|
||||
RETURN_NULL();
|
||||
}
|
||||
}
|
||||
}
|
||||
RETURN_ZVAL ( zprid, true, true );
|
||||
}
|
||||
|
||||
/*
|
||||
* pour un record pass<73> en param :
|
||||
* TRUE : le record pass<73> en param est une fiche grp
|
||||
* FALSE : le record est un doc simple, pas une fiche grp
|
||||
*/
|
||||
ZEND_FUNCTION(phrasea_isgrp)
|
||||
{
|
||||
// long highlightlen;
|
||||
char *highlight = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==3)
|
||||
{
|
||||
if(zend_parse_parameters(3 TSRMLS_CC, (char *)"lll", &zsession, &zbaseid, &zrid) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
RETVAL_FALSE;
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[256];
|
||||
SQLRES res(conn);
|
||||
|
||||
sprintf(sql, "SELECT record_id,parent_record_id FROM record WHERE record_id=%li", Z_LVAL(zrid));
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row;
|
||||
if(row = res.fetch_row())
|
||||
{
|
||||
if( atoi(row->field(1))==atoi(row->field(0)) )
|
||||
{
|
||||
RETVAL_TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
42
bin/src/php_phrasea2/phrasea_engine/phrasea_clock_t.cpp
Executable file
42
bin/src/php_phrasea2/phrasea_engine/phrasea_clock_t.cpp
Executable file
@@ -0,0 +1,42 @@
|
||||
#include "base_header.h"
|
||||
#include "phrasea_clock_t.h"
|
||||
|
||||
#ifndef COMPILE_DL_PHRASEA2
|
||||
#error COMPILE_DL_PHRASEA2 is false
|
||||
|
||||
#endif
|
||||
|
||||
# ifdef PHP_WIN32
|
||||
|
||||
void startChrono(CHRONO &chrono)
|
||||
{
|
||||
chrono = GetTickCount();
|
||||
}
|
||||
double stopChrono(CHRONO &chrono)
|
||||
{
|
||||
return((double)(GetTickCount()-chrono) / 1000.0);
|
||||
}
|
||||
|
||||
|
||||
# else
|
||||
|
||||
void startChrono(CHRONO &chrono)
|
||||
{
|
||||
gettimeofday(&chrono, NULL);
|
||||
return;
|
||||
}
|
||||
double stopChrono(CHRONO &chrono)
|
||||
{
|
||||
struct timeval t;
|
||||
gettimeofday(&t, NULL);
|
||||
t.tv_sec -= chrono.tv_sec;
|
||||
t.tv_usec -= chrono.tv_usec;
|
||||
if(t.tv_usec < 0)
|
||||
{
|
||||
t.tv_sec--;
|
||||
t.tv_usec += 1000000;
|
||||
}
|
||||
return((double)(t.tv_sec) + ((double)(t.tv_usec))/1000000);
|
||||
}
|
||||
|
||||
#endif
|
20
bin/src/php_phrasea2/phrasea_engine/phrasea_clock_t.h
Executable file
20
bin/src/php_phrasea2/phrasea_engine/phrasea_clock_t.h
Executable file
@@ -0,0 +1,20 @@
|
||||
/*
|
||||
* phrasea_clock_t.h
|
||||
*
|
||||
* Created on: 4 mars 2010
|
||||
* Author: gaulier
|
||||
*/
|
||||
|
||||
#ifndef PHRASEA_CLOCK_T_H_
|
||||
#define PHRASEA_CLOCK_T_H_
|
||||
|
||||
#ifdef PHP_WIN32
|
||||
typedef DWORD CHRONO;
|
||||
#else
|
||||
typedef struct timeval CHRONO;
|
||||
#endif
|
||||
|
||||
void startChrono(CHRONO &chrono);
|
||||
double stopChrono(CHRONO &chrono);
|
||||
|
||||
#endif /* PHRASEA_CLOCK_T_H_ */
|
23
bin/src/php_phrasea2/phrasea_engine/phrasea_engine.h
Executable file
23
bin/src/php_phrasea2/phrasea_engine/phrasea_engine.h
Executable file
@@ -0,0 +1,23 @@
|
||||
// fichier phrasea_engine.h
|
||||
|
||||
#include "_VERSION.h"
|
||||
|
||||
#include "phrasea_types.h"
|
||||
#include "cache.h"
|
||||
#include "sql.h"
|
||||
|
||||
//#include "../phrasea_engine/cache.h"
|
||||
|
||||
|
||||
/*
|
||||
//extern "C" {
|
||||
#include "trace_memory.h"
|
||||
#ifdef PGSUPPORT
|
||||
#include "libpq-fe.h"
|
||||
#endif
|
||||
#include "mysql.h"
|
||||
#include "phrasea_types.h"
|
||||
#include "sql.h"
|
||||
#include "cache.h"
|
||||
// }
|
||||
*/
|
247
bin/src/php_phrasea2/phrasea_engine/phrasea_types.h
Executable file
247
bin/src/php_phrasea2/phrasea_engine/phrasea_types.h
Executable file
@@ -0,0 +1,247 @@
|
||||
#ifdef __ppc__ // os x
|
||||
# define PH_INT32 int
|
||||
# define PH_INT64 long long
|
||||
# define PH_ATOI64(s) atoll(s)
|
||||
#else
|
||||
# ifdef WIN32 // windows
|
||||
# define PH_INT32 int
|
||||
# define PH_INT64 __int64
|
||||
# define PH_ATOI64(s) _atoi64(s)
|
||||
# else // linux ?
|
||||
# define PH_INT32 int
|
||||
# define PH_INT64 __int64
|
||||
# define PH_ATOI64(s) _atoi64(s)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// #define int PH_INT32
|
||||
|
||||
|
||||
|
||||
/* definition portable des structures systeme a denomination variable */
|
||||
#ifndef PHRASEA_TIMEB
|
||||
# ifdef noPHP_WIN32
|
||||
# define PHRASEA_TIMEB struct _timeb
|
||||
# define PHRASEA_FTIME _ftime
|
||||
# define PHRASEA_GET_MS millisec_diff
|
||||
# else
|
||||
# define PHRASEA_TIMEB clock_t
|
||||
# define PHRASEA_FTIME phrasea_get_ticks
|
||||
# define PHRASEA_GET_MS phrasea_getclockinterval
|
||||
// ******* tosee : ligne mise en remarque pour warning win32
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef true
|
||||
#define true TRUE
|
||||
#endif
|
||||
|
||||
#ifndef false
|
||||
#define false FALSE
|
||||
#endif
|
||||
|
||||
#ifndef NONULLSTRING
|
||||
#define NONULLSTRING(x) ((x)?(x):"")
|
||||
#endif
|
||||
|
||||
#define PHRASEA_MYSQLENGINE 0
|
||||
#define PHRASEA_PGSQLENGINE 1
|
||||
|
||||
#define PHRASEA_OP_NULL -1
|
||||
#define PHRASEA_OP_OR 1
|
||||
#define PHRASEA_OP_AND 2
|
||||
#define PHRASEA_KW_ALL 3
|
||||
#define PHRASEA_KW_LAST 4
|
||||
#define PHRASEA_OP_EXCEPT 5
|
||||
#define PHRASEA_OP_NEAR 6
|
||||
#define PHRASEA_OP_BEFORE 7
|
||||
#define PHRASEA_OP_AFTER 8
|
||||
#define PHRASEA_OP_IN 9
|
||||
|
||||
#define PHRASEA_OP_EQUAL 10
|
||||
#define PHRASEA_OP_NOTEQU 11
|
||||
#define PHRASEA_OP_GT 12
|
||||
#define PHRASEA_OP_LT 13
|
||||
#define PHRASEA_OP_GEQT 14
|
||||
#define PHRASEA_OP_LEQT 15
|
||||
#define PHRASEA_OP_COLON 16
|
||||
|
||||
#define PHRASEA_KEYLIST 17
|
||||
|
||||
#define PHRASEA_KW_FIRST 18
|
||||
|
||||
#define MAXHITLENGTH 14
|
||||
|
||||
#define DEFAULTLAST 12
|
||||
|
||||
enum { PHRASEA_MULTIDOC_DOCONLY=0, PHRASEA_MULTIDOC_REGONLY };
|
||||
enum { PHRASEA_ORDER_DESC=0, PHRASEA_ORDER_ASC=1, PHRASEA_ORDER_ASK=2 };
|
||||
|
||||
typedef struct collid_pair
|
||||
{
|
||||
long local_base_id; // id de base locale (champ 'base_id' dans la table 'bas' de la base 'phrasea' locale)
|
||||
long distant_coll_id; // id de collection distante (champ 'coll_id' dans la table 'coll' de la base distante)
|
||||
}
|
||||
COLLID_PAIR;
|
||||
|
||||
typedef struct spot
|
||||
{
|
||||
int start;
|
||||
int len;
|
||||
struct spot *nextspot;
|
||||
}
|
||||
SPOT;
|
||||
|
||||
typedef struct hit
|
||||
{
|
||||
int iws;
|
||||
int iwe;
|
||||
// char hit[MAXHITLENGTH+1];
|
||||
struct hit *nexthit;
|
||||
}
|
||||
HIT;
|
||||
|
||||
class CSHA256
|
||||
{
|
||||
private:
|
||||
unsigned char _v[65];
|
||||
public:
|
||||
CSHA256()
|
||||
{
|
||||
memset(this->_v, 0, sizeof(this->_v));
|
||||
}
|
||||
~CSHA256()
|
||||
{
|
||||
}
|
||||
CSHA256 &operator=(const unsigned char *v)
|
||||
{
|
||||
memset(this->_v, 0, sizeof(this->_v));
|
||||
if(v)
|
||||
{
|
||||
unsigned char *p=this->_v;
|
||||
for(register int i=0 ; i<64 && *v; i++)
|
||||
*p++ = *v++;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
CSHA256 &operator=(const CSHA256 &rhs)
|
||||
{
|
||||
memcpy(this->_v, rhs._v, sizeof(this->_v));
|
||||
return *this;
|
||||
}
|
||||
bool operator==(const CSHA256 &rhs)
|
||||
{
|
||||
return(strcmp((const char *)(this->_v), (const char *)(rhs._v))==0);
|
||||
}
|
||||
bool operator!=(const CSHA256 &rhs)
|
||||
{
|
||||
return(!(*this==rhs));
|
||||
}
|
||||
operator const char *()
|
||||
{
|
||||
return((const char *)(this->_v));
|
||||
}
|
||||
};
|
||||
|
||||
typedef struct answer
|
||||
{
|
||||
int rid;
|
||||
int prid;
|
||||
int cid;
|
||||
unsigned long long llstatus; // 64 bits
|
||||
CSHA256 osha256;
|
||||
HIT *firsthit, *lasthit;
|
||||
SPOT *firstspot, *lastspot;
|
||||
int nspots;
|
||||
// SPOT *spots;
|
||||
// int *sqloffsets;
|
||||
struct answer *nextanswer;
|
||||
}
|
||||
ANSWER;
|
||||
|
||||
|
||||
typedef struct keyword
|
||||
{
|
||||
char *kword;
|
||||
struct keyword *nextkeyword;
|
||||
}
|
||||
KEYWORD;
|
||||
|
||||
typedef struct s_node
|
||||
{
|
||||
int type;
|
||||
bool isempty;
|
||||
ANSWER *firstanswer, *lastanswer;
|
||||
int nbranswers;
|
||||
int nleaf;
|
||||
double time_C;
|
||||
double time_sqlQuery, time_sqlStore, time_sqlFetch;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
int v;
|
||||
} numparm;
|
||||
struct
|
||||
{
|
||||
char *kword;
|
||||
} leaf;
|
||||
struct
|
||||
{
|
||||
KEYWORD *firstkeyword, *lastkeyword;
|
||||
} multileaf;
|
||||
struct
|
||||
{
|
||||
struct s_node *l;
|
||||
struct s_node *r;
|
||||
int numparm;
|
||||
} boperator;
|
||||
struct
|
||||
{
|
||||
char *fieldname;
|
||||
char *strvalue;
|
||||
double dblvalue;
|
||||
} voperator;
|
||||
}
|
||||
content;
|
||||
}
|
||||
NODE;
|
||||
|
||||
|
||||
|
||||
// les structures 'calqu?es' des donn?es en cache
|
||||
typedef struct cache_spot
|
||||
{
|
||||
unsigned int start;
|
||||
unsigned int len;
|
||||
}
|
||||
CACHE_SPOT;
|
||||
typedef struct cache_answer
|
||||
{
|
||||
int rid;
|
||||
int prid;
|
||||
int bid;
|
||||
unsigned long long llstatus; // 64 bits
|
||||
unsigned int spots_index;
|
||||
unsigned int nspots;
|
||||
}
|
||||
CACHE_ANSWER;
|
||||
|
||||
// impl?mentation d'une resource "phrasea_connection" : en fait une connexion ? pg ou mysql
|
||||
// http://groups.google.fr/groups?q=zend_register_list_destructors_ex+persistent&hl=fr&lr=&ie=UTF-8&selm=cvshelly1039456453%40cvsserver&rnum=8
|
||||
|
||||
typedef struct _php_phrasea_conn
|
||||
{
|
||||
int sqlengine;
|
||||
union
|
||||
{
|
||||
#ifdef PGSUPPORT
|
||||
PGconn *pgsql_conn;
|
||||
#endif
|
||||
MYSQL mysql_conn;
|
||||
}
|
||||
sqlconn;
|
||||
int mysql_active_result_id;
|
||||
}
|
||||
PHP_PHRASEA_CONN;
|
29
bin/src/php_phrasea2/phrasea_engine/phrasea_utils_win.h
Executable file
29
bin/src/php_phrasea2/phrasea_engine/phrasea_utils_win.h
Executable file
@@ -0,0 +1,29 @@
|
||||
|
||||
/* inclusion de l'ent<6E>te de base phrasea */
|
||||
#include "base_header.h"
|
||||
|
||||
// trier un tableau d'entiers
|
||||
void sort_int(int nint, int *tint)
|
||||
{
|
||||
register int i,j,tmp;
|
||||
for(i=0; i<nint-1; i++)
|
||||
{
|
||||
for(j=i+1; j<nint; j++)
|
||||
{
|
||||
if(tint[j] < tint[i])
|
||||
{
|
||||
tmp = tint[i];
|
||||
tint[i] = tint[j];
|
||||
tint[j] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ifdef PHP_WIN32
|
||||
int millisec_diff(struct _timeb *timestart, struct _timeb *timeend)
|
||||
{
|
||||
return((1000 * (timeend->time - timestart->time)) + (timeend->millitm - timestart->millitm));
|
||||
}
|
||||
#endif
|
1288
bin/src/php_phrasea2/phrasea_engine/qtree.cpp
Executable file
1288
bin/src/php_phrasea2/phrasea_engine/qtree.cpp
Executable file
File diff suppressed because it is too large
Load Diff
426
bin/src/php_phrasea2/phrasea_engine/query.cpp
Executable file
426
bin/src/php_phrasea2/phrasea_engine/query.cpp
Executable file
@@ -0,0 +1,426 @@
|
||||
#include "base_header.h"
|
||||
#include "phrasea_clock_t.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
NODE *arr2tree(zval **root, int depth);
|
||||
NODE *qtree2tree(zval **root, int depth);
|
||||
void arrdump(zval **root, int depth);
|
||||
void dumptree(NODE *n);
|
||||
void freetree(NODE *n);
|
||||
NODE *poptree(NODE *n);
|
||||
// int poptree(NODE *n);
|
||||
void freehits(ANSWER *a);
|
||||
void freeanswer(ANSWER *a);
|
||||
void querytree2(NODE *n, int depth, SQLCONN *sqlconn, zval *result, long multidocMode);
|
||||
void setError(int errtype, char *errstr, int errnum);
|
||||
void sort_int(int nint, int *tint);
|
||||
//int PHRASEA_GET_MS(struct _timeb *timestart, struct _timeb *timeend);
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_query2)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsession, zsbasid, *zqarray, *zcolllist;
|
||||
zval zuserid;
|
||||
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
|
||||
char tmpstr[10240]; // buffer pour formater les messages 'courts' (messages d'erreur...)
|
||||
char *zsite;
|
||||
int zsitelen;
|
||||
// char *zuserid;
|
||||
// long zuseridlen;
|
||||
|
||||
int id = -1;
|
||||
int i, ncoll, len;
|
||||
NODE *query;
|
||||
// ANSWER *answer;
|
||||
// HIT *hit;
|
||||
// SPOT *spot;
|
||||
bool conn_ok = TRUE;
|
||||
// zval *zanswers, *zanswer, *zspots, *zspot;
|
||||
zval **tmp1;
|
||||
char *sqlcoll; // un petit bout de sql qui filtre les collection
|
||||
|
||||
long znoCache = 0;
|
||||
long zmultidocMode = PHRASEA_MULTIDOC_DOCONLY;
|
||||
|
||||
char *prec; // "
|
||||
|
||||
COLLID_PAIR *t_collid_pair = NULL;
|
||||
|
||||
switch(ZEND_NUM_ARGS())
|
||||
{
|
||||
case 8: // session, baseid, collist, quarray, site, userid, noCache, multidocMode
|
||||
if(zend_parse_parameters(8 TSRMLS_CC, (char *)"llaaslbl", &zsession, &zsbasid, &zcolllist, &zqarray, &zsite, &zsitelen, &zuserid, &znoCache, &zmultidocMode) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
if(zsitelen > 32)
|
||||
zsite[32] = '\0';
|
||||
// if(zuseridlen > 64)
|
||||
// zuserid[64] = '\0';
|
||||
// on construit le bout de sql qui joint record et collusr
|
||||
switch(zmultidocMode)
|
||||
{
|
||||
/* ===== ANCIEN MULTIDOC ===============
|
||||
case PHRASEA_MULTIDOC_REPONLY:
|
||||
sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%s' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND parent_record_id=0)", zsite, zuserid);
|
||||
break;
|
||||
case PHRASEA_MULTIDOC_DOCONLY:
|
||||
sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%s' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND parent_record_id<>0)", zsite, zuserid);
|
||||
break;
|
||||
case PHRASEA_MULTIDOC_OLDSTYLE:
|
||||
sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%s' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND (parent_record_id=0 OR parent_record_id=record_id))", zsite, zuserid);
|
||||
break;
|
||||
default:
|
||||
case PHRASEA_MULTIDOC_ALL:
|
||||
sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%s' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0)", zsite, zuserid);
|
||||
break;
|
||||
========================================= */
|
||||
|
||||
|
||||
/* ======== REGROUPEMENT MAI 2006 ==========*/
|
||||
case PHRASEA_MULTIDOC_REGONLY:
|
||||
// sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%ld' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=record.record_id)", zsite, Z_LVAL(zuserid));
|
||||
// sprintf(sqltrec, "(record INNER JOIN _tmpmask ON _tmpmask.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=record.record_id)");
|
||||
prec = "record.record_id";
|
||||
break;
|
||||
|
||||
default:
|
||||
case PHRASEA_MULTIDOC_DOCONLY:
|
||||
// sprintf(sqltrec, "(record INNER JOIN collusr ON site='%s' AND usr_id='%ld' AND collusr.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=0)", zsite, Z_LVAL(zuserid));
|
||||
//sprintf(sqltrec, "(record INNER JOIN _tmpmask ON _tmpmask.coll_id=record.coll_id AND ((status ^ mask_xor) & mask_and)=0 AND record.parent_record_id=0)");
|
||||
prec = "0";
|
||||
break;
|
||||
}
|
||||
// zend_printf("<!-- sqltrec=%s -->\n", sqltrec);
|
||||
break;
|
||||
default:
|
||||
WRONG_PARAM_COUNT;
|
||||
break;
|
||||
}
|
||||
|
||||
//sprintf(sqltrec, "(record)");
|
||||
|
||||
/*
|
||||
if(!global_session || global_session->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(Z_LVAL(zsession)))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
//zend_printf("173\n");
|
||||
// RETURN_FALSE;
|
||||
//zend_printf("173 , %ld , %ld \n", PHRASEA2_G(global_session)->get_session_id(), Z_LVAL(zsession));
|
||||
// RETURN_FALSE;
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// zend_printf("179 \n");
|
||||
|
||||
SQLRES res(epublisher);
|
||||
|
||||
|
||||
// on remplace la liste de collections 'locales' (ids de bases) en liste de collections distantes (ids de colls)
|
||||
sqlcoll = NULL;
|
||||
if(Z_TYPE_PP(&zcolllist) == IS_ARRAY)
|
||||
{
|
||||
// on calcule la taille pour <20>crire tous les num<75>ros de coll distants
|
||||
for(ncoll=i=0; TRUE; i++)
|
||||
{
|
||||
if(zend_hash_index_find(HASH_OF(zcolllist), i, (void **) &tmp1)==SUCCESS && Z_TYPE_PP(tmp1)==IS_LONG)
|
||||
{
|
||||
long distant_coll_id = PHRASEA2_G(global_session)->get_distant_coll_id(Z_LVAL_P(*tmp1));
|
||||
if(distant_coll_id != -1)
|
||||
ncoll++;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
// on alloue et on relit
|
||||
len = 0;
|
||||
if(t_collid_pair = (COLLID_PAIR *)EMALLOC(ncoll * sizeof(COLLID_PAIR)))
|
||||
{
|
||||
for(ncoll=i=0; TRUE; i++)
|
||||
{
|
||||
if(zend_hash_index_find(HASH_OF(zcolllist), i, (void **) &tmp1)==SUCCESS && Z_TYPE_PP(tmp1)==IS_LONG)
|
||||
{
|
||||
long distant_coll_id = PHRASEA2_G(global_session)->get_distant_coll_id(Z_LVAL_P(*tmp1));
|
||||
if(distant_coll_id != -1)
|
||||
{
|
||||
t_collid_pair[ncoll].local_base_id = Z_LVAL_P(*tmp1);
|
||||
t_collid_pair[ncoll].distant_coll_id = distant_coll_id;
|
||||
len += sprintf(tmpstr, "%li", distant_coll_id);
|
||||
ncoll++;
|
||||
}
|
||||
// zend_printf("t_collid_pair[%li]={%i, %li}\n", i, t_collid_pair[i].local_base_id, t_collid_pair[i].distant_coll_id);
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// ALLOC ERROR
|
||||
ncoll = 0;
|
||||
}
|
||||
|
||||
if(ncoll > 0)
|
||||
{
|
||||
// on construit le bout de sql qui filtre sur les collections
|
||||
/*
|
||||
if(ncoll == 1)
|
||||
len += (sizeof(" record.coll_id=")-1) + 1;
|
||||
else
|
||||
len += (sizeof(" record.coll_id IN (")-1) + (ncoll-1) + (sizeof(")")-1) + 1;
|
||||
if(sqlcoll = (char *)(EMALLOC(len)))
|
||||
{
|
||||
if(ncoll == 1)
|
||||
sprintf(sqlcoll, " record.coll_id=%li", t_collid_pair[0].distant_coll_id);
|
||||
else
|
||||
{
|
||||
len = sprintf(sqlcoll, " record.coll_id IN (");
|
||||
for(i=0; i<ncoll; i++)
|
||||
{
|
||||
if(i>0)
|
||||
sqlcoll[len++] = ',';
|
||||
len += sprintf(sqlcoll+len, "%li", t_collid_pair[i].distant_coll_id);
|
||||
}
|
||||
sprintf(sqlcoll+len, ")");
|
||||
}
|
||||
*/
|
||||
if(ncoll == 1)
|
||||
len += (sizeof(" coll_id=")-1) + 1;
|
||||
else
|
||||
len += (sizeof(" coll_id IN (")-1) + (ncoll-1) + (sizeof(")")-1) + 1;
|
||||
if(sqlcoll = (char *)(EMALLOC(len)))
|
||||
{
|
||||
if(ncoll == 1)
|
||||
sprintf(sqlcoll, " coll_id=%li", t_collid_pair[0].distant_coll_id);
|
||||
else
|
||||
{
|
||||
len = sprintf(sqlcoll, " coll_id IN (");
|
||||
for(i=0; i<ncoll; i++)
|
||||
{
|
||||
if(i>0)
|
||||
sqlcoll[len++] = ',';
|
||||
len += sprintf(sqlcoll+len, "%li", t_collid_pair[i].distant_coll_id);
|
||||
}
|
||||
sprintf(sqlcoll+len, ")");
|
||||
}
|
||||
|
||||
|
||||
TRACELOG(sqlcoll);
|
||||
// zend_printf("SQL=%s<br>\n", sqlcoll);
|
||||
|
||||
// on r<>cup l'adresse de la base distante
|
||||
// sprintf(tmpstr, "SELECT base_id, server_host, server_port, server_sqlengine, server_dbname, server_user, server_pwd, server_coll_id FROM bas WHERE base_id=%li", Z_LVAL(zbaseid));
|
||||
sprintf(tmpstr, "SELECT sbas_id, host, port, sqlengine, dbname, user, pwd FROM sbas WHERE sbas_id=%li", Z_LVAL(zsbasid));
|
||||
// zend_printf("%s \n", tmpstr);
|
||||
if(res.query(tmpstr))
|
||||
{
|
||||
// zend_printf("SQL=%s<br>\n", tmpstr);
|
||||
SQLROW *row = res.fetch_row();
|
||||
if(row)
|
||||
{
|
||||
// on se connecte sur la base distante
|
||||
SQLCONN *conn = new SQLCONN(row->field(1), atoi(row->field(2)), row->field(5), row->field(6), row->field(4));
|
||||
if(conn && conn->isok())
|
||||
{
|
||||
sprintf(tmpstr, "CREATE TEMPORARY TABLE _tmpmask SELECT coll_id, mask_xor, mask_and FROM collusr WHERE site='%s' AND usr_id='%ld' AND %s", zsite, Z_LVAL(zuserid), sqlcoll);
|
||||
conn->query(tmpstr);
|
||||
sprintf(tmpstr, "CREATE INDEX coll_id ON _tmpmask(coll_id)");
|
||||
conn->query(tmpstr);
|
||||
|
||||
// on transforme la query en php en arbre de nodes
|
||||
query = qtree2tree(&zqarray, 0);
|
||||
|
||||
// ici on interroge phrasea !
|
||||
querytree2(query, 0, conn, return_value, zmultidocMode);
|
||||
|
||||
conn->query("DROP TABLE _tmpmask");
|
||||
|
||||
if(!znoCache)
|
||||
{
|
||||
// on s<>rialise les r<>sultats en binaire
|
||||
ANSWER *answer;
|
||||
SPOT *spot;
|
||||
int n_answers=0, n_spots=0;
|
||||
|
||||
for(answer=query->firstanswer; answer; answer=answer->nextanswer)
|
||||
{
|
||||
if(answer->nextanswer && answer->nextanswer->osha256 != answer->osha256)
|
||||
{
|
||||
ANSWER *a, *pa;
|
||||
for(a=(pa=answer->nextanswer)->nextanswer; a; pa=a,a=a->nextanswer)
|
||||
{
|
||||
if(a->osha256 == answer->osha256)
|
||||
{
|
||||
pa->nextanswer = a->nextanswer;
|
||||
a->nextanswer = answer->nextanswer;
|
||||
answer->nextanswer = a;
|
||||
|
||||
a = pa;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//for(answer=query->firstanswer; answer; answer=answer->nextanswer)
|
||||
// zend_printf("(%d) : rid=%d, sha='%s'<br/>\n", __LINE__, answer->rid, (const char *)(answer->osha256) ) ;
|
||||
|
||||
for(answer=query->firstanswer; answer; answer=answer->nextanswer)
|
||||
{
|
||||
n_answers++;
|
||||
answer->nspots = 0;
|
||||
for(spot=answer->firstspot; spot; spot = spot->nextspot)
|
||||
{
|
||||
n_spots++;
|
||||
answer->nspots++;
|
||||
}
|
||||
}
|
||||
|
||||
CHRONO chrono;
|
||||
startChrono(chrono);
|
||||
|
||||
if(n_answers > 0)
|
||||
{
|
||||
int answer_binsize, spot_binsize;
|
||||
CACHE_ANSWER *answer_binbuff=NULL;
|
||||
CACHE_SPOT *spot_binbuff=NULL;
|
||||
|
||||
answer_binsize = n_answers * sizeof(CACHE_ANSWER);
|
||||
spot_binsize = n_spots * sizeof(CACHE_SPOT);
|
||||
|
||||
// pour calculer les offsets de spots, il faut savoir combien de spots sont d<>j<EFBFBD> dans la table
|
||||
unsigned int spot_index = 0;
|
||||
|
||||
FILE *fp_spots=NULL, *fp_answers=NULL;
|
||||
char *fname;
|
||||
int l = strlen(PHRASEA2_G(tempPath))
|
||||
+ 9 // "_phrasea."
|
||||
+ strlen(epublisher->ukey)
|
||||
+ 9 // ".answers."
|
||||
+ 33 // zsession
|
||||
+1; // '\0'
|
||||
if( (fname = (char *)EMALLOC(l)) )
|
||||
{
|
||||
if(n_spots > 0)
|
||||
{
|
||||
sprintf(fname, "%s_phrasea.%s.spots.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsession));
|
||||
if( (fp_spots = fopen(fname, "ab")) )
|
||||
{
|
||||
// to set the offset of spots, we must know how much are already in file
|
||||
fseek(fp_spots, 0, SEEK_END);
|
||||
spot_index = ftell(fp_spots) / sizeof(CACHE_SPOT);
|
||||
// zend_printf("%s : ftell=%li ; index=%li <br/>\n", fname, ftell(fp_spots), spot_index);
|
||||
}
|
||||
}
|
||||
sprintf(fname, "%s_phrasea.%s.answers.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsession));
|
||||
if( (fp_answers = fopen(fname, "ab")) )
|
||||
{
|
||||
;
|
||||
}
|
||||
EFREE(fname);
|
||||
}
|
||||
|
||||
if((answer_binbuff = (CACHE_ANSWER *)EMALLOC(answer_binsize)) && (n_spots==0 || (spot_binbuff = (CACHE_SPOT *)EMALLOC(spot_binsize))))
|
||||
{
|
||||
CACHE_ANSWER *panswer = answer_binbuff;
|
||||
CACHE_SPOT *pspot = spot_binbuff;
|
||||
long current_cid = -1;
|
||||
long current_bid = -1;
|
||||
for(answer=query->firstanswer; answer; answer=answer->nextanswer)
|
||||
{
|
||||
if(answer->cid != current_cid)
|
||||
{
|
||||
// on change de collection, on cherche l'id de la base locale correspondante
|
||||
|
||||
current_bid = -1;
|
||||
for(int i=0; i<ncoll; i++)
|
||||
{
|
||||
if(t_collid_pair[i].distant_coll_id == answer->cid)
|
||||
{
|
||||
current_bid = t_collid_pair[i].local_base_id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//zend_printf("rid=%d ; spot_index = %d (nspots=%d) ", answer->rid, spot_index, answer->nspots);
|
||||
panswer->rid = answer->rid;
|
||||
panswer->prid = answer->prid;
|
||||
panswer->llstatus = answer->llstatus;
|
||||
panswer->bid = current_bid;
|
||||
panswer->spots_index = spot_index;
|
||||
panswer->nspots = answer->nspots;
|
||||
// spot_offset += answer->nspots * sizeof(CACHE_SPOT);
|
||||
spot_index += answer->nspots;
|
||||
//zend_printf(" -:: spot_index=%d <br/>\n", spot_index);
|
||||
for(spot=answer->firstspot; spot; spot = spot->nextspot)
|
||||
{
|
||||
//zend_printf("start=%d, len=%d <br/>\n", spot->start, spot->len);
|
||||
pspot->start = spot->start;
|
||||
pspot->len = spot->len;
|
||||
//zend_printf("start=%d, len=%d <br/>\n", pspot->start, pspot->len);
|
||||
pspot++;
|
||||
}
|
||||
// zend_printf("p_rid=%d ; p_spots_index = %d <br/>\n", panswer->rid, panswer->spots_index);
|
||||
panswer++;
|
||||
}
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
|
||||
if(fp_answers)
|
||||
{
|
||||
fwrite((const void *)answer_binbuff, 1, answer_binsize, fp_answers);
|
||||
fclose(fp_answers);
|
||||
}
|
||||
if(fp_spots)
|
||||
{
|
||||
fwrite((const void *)spot_binbuff, 1, spot_binsize, fp_spots);
|
||||
fclose(fp_spots);
|
||||
}
|
||||
EFREE(answer_binbuff);
|
||||
}
|
||||
else
|
||||
{
|
||||
// pb d'allocation !
|
||||
if(answer_binbuff)
|
||||
EFREE(answer_binbuff);
|
||||
if(spot_binbuff)
|
||||
EFREE(spot_binbuff);
|
||||
}
|
||||
} // if(n_answers > 0)
|
||||
add_assoc_double(return_value, (char *)"time_writeCache", stopChrono(chrono));
|
||||
|
||||
} // if(!noCache)
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
|
||||
// on lib<69>re l'arbre
|
||||
freetree(query);
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
}
|
||||
if(conn)
|
||||
delete conn;
|
||||
}
|
||||
}
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
EFREE(sqlcoll);
|
||||
}
|
||||
}
|
||||
if(t_collid_pair)
|
||||
EFREE(t_collid_pair);
|
||||
}
|
||||
TRACELOG("hello world I'm phrasea_query2");
|
||||
}
|
578
bin/src/php_phrasea2/phrasea_engine/session.cpp
Executable file
578
bin/src/php_phrasea2/phrasea_engine/session.cpp
Executable file
@@ -0,0 +1,578 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_list_bases)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
char sql[1024];
|
||||
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
if(ZEND_NUM_ARGS() != 0)
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
|
||||
// zend_printf("-------\n");
|
||||
if(!epublisher)
|
||||
RETURN_FALSE;
|
||||
|
||||
// on cherche la liste des bases publi<6C>es
|
||||
SQLRES res(epublisher);
|
||||
// if(res.query("SELECT base_id, server_host, server_port, server_sqlengine, server_dbname, server_user, server_pwd, server_coll_id FROM bas WHERE active>0 ORDER BY server_host, server_port, server_dbname"))
|
||||
if(res.query((char *)"SELECT base_id, host, port, dbname, user, pwd, server_coll_id, sbas.sbas_id, viewname FROM (sbas INNER JOIN bas ON bas.sbas_id=sbas.sbas_id) WHERE active>0 ORDER BY sbas.ord, sbas.sbas_id, bas.ord"))
|
||||
{
|
||||
long last_sbas_id=0, sbas_id;
|
||||
char *viewname;
|
||||
SQLROW *row;
|
||||
SQLCONN *conn = NULL;
|
||||
long basid;
|
||||
|
||||
// zend_printf("0\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0, epublisher))
|
||||
{
|
||||
// zend_printf("1\n");
|
||||
CACHE_BASE *cache_base = NULL;
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
// zend_printf("2\n");
|
||||
basid = atol(row->field(0));
|
||||
sbas_id = atol(row->field(7));
|
||||
viewname = (row->field(8) && strlen(row->field(8))>0) ? row->field(8) : row->field(3);
|
||||
if(sbas_id != last_sbas_id)
|
||||
{
|
||||
// zend_printf("3\n");
|
||||
last_sbas_id = sbas_id;
|
||||
|
||||
// on a chang<6E> de base phrasea
|
||||
|
||||
if(conn)
|
||||
delete conn;
|
||||
|
||||
int engine = PHRASEA_MYSQLENGINE;
|
||||
conn = new SQLCONN(row->field(1), atoi(row->field(2)), row->field(4), row->field(5), row->field(3));
|
||||
|
||||
if(conn && conn->isok())
|
||||
{
|
||||
// zend_printf("4\n");
|
||||
SQLRES res2(conn);
|
||||
if(res2.query((char *)"SELECT value AS struct FROM pref WHERE prop='structure' LIMIT 1;"))
|
||||
{
|
||||
SQLROW *row2 = res2.fetch_row();
|
||||
if(row2)
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atol(row->field(2)), row->field(4), row->field(5), row->field(3), row2->field(0), sbas_id, viewname, true);
|
||||
else
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atol(row->field(2)), row->field(4), row->field(5), row->field(3), NULL, sbas_id, viewname, true);
|
||||
}
|
||||
else
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atol(row->field(2)), row->field(4), row->field(5), row->field(3), NULL, sbas_id, viewname, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atol(row->field(2)), row->field(4), row->field(5), row->field(3), NULL, sbas_id, viewname, false);
|
||||
}
|
||||
}
|
||||
|
||||
// ici pour chaque base / collections
|
||||
if(conn && conn->isok())
|
||||
{
|
||||
// zend_printf("5\n");
|
||||
SQLRES res(conn);
|
||||
long collid = atol(row->field(6));
|
||||
// sprintf(sql, "SELECT asciiname, phserver_host, phserver_port, prefs FROM coll WHERE coll_id=%s", row->field(6));
|
||||
sprintf(sql, "SELECT asciiname, prefs FROM coll WHERE coll_id=%s", row->field(6));
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
|
||||
// zend_printf("asciiname='%s'<br>\n" , row->field(0) );
|
||||
|
||||
if(cache_base)
|
||||
cache_base->addcoll(collid, basid, row->field(0), (char *)(row->field(1)?row->field(1):""), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
// tmp_session->dump();
|
||||
// zend_printf("6\n");
|
||||
if(conn)
|
||||
delete conn;
|
||||
|
||||
// on s<>rialize la session tmp en php
|
||||
tmp_session->serialize_php(return_value, true); // on liste TOUT (y compris les offline et les non registered)
|
||||
|
||||
delete tmp_session;
|
||||
}
|
||||
else
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
ZEND_FUNCTION(phrasea_clear_cache)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsesid;
|
||||
char sql[1024];
|
||||
int sesid = -1;
|
||||
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
if(ZEND_NUM_ARGS()==1)
|
||||
{
|
||||
if(zend_parse_parameters(1 TSRMLS_CC, (char *)"l", &zsesid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(epublisher)
|
||||
{
|
||||
if(Z_LVAL(zsesid) != 0)
|
||||
{
|
||||
// on a pass<73> une session, on v<>rifie si elle existe
|
||||
// sprintf(sql, "UPDATE cache SET nact=nact+1, lastaccess=NOW(), answers='', spots='' WHERE session_id=%ld", Z_LVAL(zsesid));
|
||||
sprintf(sql, "UPDATE cache SET nact=nact+1, lastaccess=NOW() WHERE session_id=%ld", Z_LVAL(zsesid));
|
||||
if(epublisher->query(sql))
|
||||
{
|
||||
if(epublisher->affected_rows() == 1)
|
||||
{
|
||||
char *fname;
|
||||
//zend_printf("uky=%s (l=%d)<br/>\n", epublisher->ukey, strlen(epublisher->ukey));
|
||||
//zend_printf("tmp=%s<br/>\n", PHRASEA2_G(tempPath));
|
||||
// zend_printf("tmp=%s (l=%d)<br/>\n", tempPathBuffer, strlen(tempPathBuffer));
|
||||
//RETURN_FALSE;
|
||||
int l = strlen(PHRASEA2_G(tempPath))
|
||||
+ 9 // "_phrasea."
|
||||
+ strlen(epublisher->ukey)
|
||||
+ 9 // ".answers."
|
||||
+ 33 // zsession
|
||||
+1; // '\0'
|
||||
|
||||
|
||||
if( (fname = (char *)EMALLOC(l)) )
|
||||
{
|
||||
// sprintf(fname, "%s_phrasea.answers.%ld.bin", tempPathBuffer, Z_LVAL(zsesid));
|
||||
sprintf(fname, "%s_phrasea.%s.answers.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsesid));
|
||||
remove(fname);
|
||||
// sprintf(fname, "%s_phrasea.spots.%ld.bin", tempPathBuffer, Z_LVAL(zsesid));
|
||||
sprintf(fname, "%s_phrasea.%s.spots.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsesid));
|
||||
remove(fname);
|
||||
EFREE(fname);
|
||||
}
|
||||
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0, epublisher))
|
||||
{
|
||||
if(tmp_session->restore(Z_LVAL(zsesid)))
|
||||
{
|
||||
if(PHRASEA2_G(global_session))
|
||||
delete PHRASEA2_G(global_session);
|
||||
PHRASEA2_G(global_session) = tmp_session;
|
||||
PHRASEA2_G(global_session)->serialize_php(return_value, false); // on n'inclue pas les offline et les non registered
|
||||
sesid = Z_LVAL(zsesid);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_create_session)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zusrid;
|
||||
char sql[1024];
|
||||
int sesid = -1;
|
||||
//zend_printf("entree dans phrasea_open_session (global_session=%lx)\n", global_session);
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
|
||||
if(ZEND_NUM_ARGS()==1)
|
||||
{
|
||||
if(zend_parse_parameters(1 TSRMLS_CC, (char *)"l", &zusrid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(epublisher)
|
||||
{
|
||||
// on cr<63>e une nouvelle session
|
||||
if(epublisher->query((char *)"LOCK TABLES uids WRITE"))
|
||||
{
|
||||
if(epublisher->query((char *)"UPDATE uids SET uid=uid+1 WHERE name='SESSION'"))
|
||||
{
|
||||
if(epublisher->affected_rows() == 1)
|
||||
{
|
||||
SQLRES res(epublisher);
|
||||
if(res.query((char *)"SELECT uid FROM uids WHERE name='SESSION'"))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
if(row)
|
||||
{
|
||||
sesid = atol(row->field(0));
|
||||
epublisher->query((char *)"UNLOCK TABLES");
|
||||
sprintf(sql, (char *)"INSERT INTO cache (session_id, nact, lastaccess, answers, spots, session, usr_id) VALUES (%i, 0, NOW(), '', '', '', %li)", sesid, Z_LVAL(zusrid));
|
||||
if(epublisher->query(sql))
|
||||
{
|
||||
ZVAL_LONG(return_value, sesid);
|
||||
}
|
||||
else
|
||||
sesid = -1;
|
||||
|
||||
}
|
||||
else
|
||||
epublisher->query((char *)"UNLOCK TABLES");
|
||||
}
|
||||
else
|
||||
epublisher->query((char *)"UNLOCK TABLES");
|
||||
}
|
||||
else
|
||||
epublisher->query((char *)"UNLOCK TABLES");
|
||||
}
|
||||
else
|
||||
epublisher->query((char *)"UNLOCK TABLES");
|
||||
}
|
||||
}
|
||||
if(sesid != -1)
|
||||
{
|
||||
// on a une session, on cherche la liste des bases publi<6C>es
|
||||
SQLRES res(epublisher);
|
||||
// if(res.query("SELECT base_id, server_host, server_port, server_sqlengine, server_dbname, server_user, server_pwd, server_coll_id FROM bas WHERE active>0 ORDER BY server_host, server_port, server_dbname"))
|
||||
if(res.query((char *)"SELECT base_id, host, port, dbname, user, pwd, server_coll_id, sbas.sbas_id, viewname FROM (sbas INNER JOIN bas ON sbas.sbas_id=bas.sbas_id) WHERE active>0 ORDER BY sbas.ord, sbas.sbas_id, bas.ord"))
|
||||
{
|
||||
long last_sbas_id=0, sbas_id;
|
||||
char *viewname;
|
||||
SQLROW *row;
|
||||
SQLCONN *conn = NULL;
|
||||
long basid;
|
||||
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(sesid, epublisher))
|
||||
{
|
||||
CACHE_BASE *cache_base = NULL;
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
basid = atol(row->field(0));
|
||||
sbas_id = atol(row->field(7));
|
||||
viewname = (row->field(8) && strlen(row->field(8))>0) ? row->field(8) : row->field(3);
|
||||
if(sbas_id != last_sbas_id)
|
||||
{
|
||||
last_sbas_id = sbas_id;
|
||||
|
||||
// on a chang<6E> de base phrasea
|
||||
if(conn)
|
||||
delete conn;
|
||||
|
||||
int engine = PHRASEA_MYSQLENGINE;
|
||||
conn = new SQLCONN(row->field(1), atoi(row->field(2)), row->field(4), row->field(5), row->field(3));
|
||||
|
||||
if(conn && conn->isok())
|
||||
{
|
||||
SQLRES res2(conn);
|
||||
if(res2.query((char *)"SELECT value AS struct FROM pref WHERE prop='structure' LIMIT 1;"))
|
||||
{
|
||||
SQLROW *row2 = res2.fetch_row();
|
||||
if(row2)
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atoi(row->field(2)), row->field(4), row->field(5), row->field(3), row2->field(0), sbas_id, viewname, true);
|
||||
else
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atoi(row->field(2)), row->field(4), row->field(5), row->field(3), NULL, sbas_id, viewname, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
cache_base = tmp_session->addbase(basid, row->field(1), atoi(row->field(2)), row->field(4), row->field(5), row->field(3), NULL, sbas_id, viewname, true);
|
||||
}
|
||||
// zend_printf("Connection OK<br>\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
// si la connexion est rat<61>e, on ne l'inclue m<>me pas dans les bases !
|
||||
// zend_printf("Connection BAD<br>\n");
|
||||
}
|
||||
}
|
||||
|
||||
// ici pour chaque base / collections
|
||||
if(conn && conn->isok())
|
||||
{
|
||||
SQLRES res(conn);
|
||||
long collid = atol(row->field(6));
|
||||
// sprintf(sql, "SELECT asciiname, phserver_host, phserver_port, prefs FROM coll WHERE coll_id=%s", row->field(7));
|
||||
sprintf(sql, "SELECT asciiname, prefs FROM coll WHERE coll_id=%s", row->field(6));
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
|
||||
if(cache_base)
|
||||
cache_base->addcoll(collid, basid, row->field(0), (char *)(row->field(1)?row->field(1):""), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(conn)
|
||||
delete conn;
|
||||
|
||||
// on s<>rialize la nouvelle session dans le sql, et on la garde en global
|
||||
if(PHRASEA2_G(global_session))
|
||||
delete PHRASEA2_G(global_session);
|
||||
PHRASEA2_G(global_session) = tmp_session;
|
||||
PHRASEA2_G(global_session)->save();
|
||||
|
||||
PHRASEA2_G(global_session)->serialize_php(return_value, false); // on n'inclue pas les offline et les non registered
|
||||
|
||||
//on retourne le numero de session
|
||||
ZVAL_LONG(return_value, sesid);
|
||||
}
|
||||
}
|
||||
else
|
||||
ZVAL_LONG(return_value, sesid);
|
||||
}
|
||||
else
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
ZEND_FUNCTION(phrasea_open_session)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsesid;
|
||||
zval zusrid;
|
||||
char sql[1024];
|
||||
long sesid = -1;
|
||||
// zend_printf("entree dans phrasea_open_session (global_session=%lx)<br>", global_session);
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
|
||||
if(ZEND_NUM_ARGS()==2)
|
||||
{
|
||||
if(zend_parse_parameters(2 TSRMLS_CC, (char *)"ll", &zsesid, &zusrid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
sesid = Z_LVAL(zsesid);
|
||||
if(epublisher)
|
||||
{
|
||||
if(sesid != 0)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
// sprintf(sql, "UPDATE cache SET nact=nact+1, lastaccess=NOW(), answers='', spots='' WHERE session_id=%li", Z_LVAL(zsesid));
|
||||
sprintf(sql, "UPDATE cache SET nact=nact+1, lastaccess=NOW() WHERE session_id=%li AND usr_id=%li", sesid, Z_LVAL(zusrid));
|
||||
if(epublisher->query(sql))
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if(epublisher->affected_rows() == 1)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0, epublisher))
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if(tmp_session->restore(sesid))
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
//RETURN_FALSE;
|
||||
if(tmp_session->get_session_id() == sesid)
|
||||
{
|
||||
//zend_printf("LINE %i <br/>\n", __LINE__);
|
||||
if(PHRASEA2_G(global_session))
|
||||
delete PHRASEA2_G(global_session);
|
||||
PHRASEA2_G(global_session) = tmp_session;
|
||||
PHRASEA2_G(global_session)->serialize_php(return_value, false); // on n'inclue pas les offline et les non registered
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_FUNCTION(phrasea_register_base)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsesid, zbaseid, zsave;
|
||||
char *zuser=NULL, *zpwd=NULL;
|
||||
int zuserlen, zpwdlen;
|
||||
int sesid = -1;
|
||||
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
if(ZEND_NUM_ARGS() == 5)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"llssb", &zsesid, &zbaseid, &zuser, &zuserlen, &zpwd, &zpwdlen, &zsave) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else if(ZEND_NUM_ARGS() == 4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"llss", &zsesid, &zbaseid, &zuser, &zuserlen, &zpwd, &zpwdlen) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
Z_LVAL(zsave) = TRUE;
|
||||
}
|
||||
else if(ZEND_NUM_ARGS() == 2)
|
||||
{
|
||||
if(zend_parse_parameters(2 TSRMLS_CC, (char *)"ll", &zsesid, &zbaseid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
Z_LVAL(zsave) = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
if(epublisher && Z_LVAL(zsesid) != -1)
|
||||
{
|
||||
if(PHRASEA2_G(global_session))
|
||||
{
|
||||
if(PHRASEA2_G(global_session)->get_session_id() == Z_LVAL(zsesid))
|
||||
{
|
||||
/* ======== au cas ou on vient de cr<63>er une coll ===================
|
||||
if(! PHRASEA2_G(global_session)->connect(zbaseid))
|
||||
{
|
||||
SQLRES res(epublisher);
|
||||
SQLCONN *conntmp = NULL;
|
||||
CACHE_BASE *cache_base = PHRASEA2_G(global_session)->getCacheBase();
|
||||
sprintf(sql, "SELECT base_id, host, port, sqlengine, dbname, user, pwd, server_coll_id, sbas.sbas_id, sbas.thesaurus_id, viewname FROM (sbas INNER JOIN bas ON sbas.sbas_id=bas.sbas_id) WHERE active>0 AND base_id=%D ORDER BY sbas.ord, sbas.sbas_id, bas.ord", zbaseid );
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
conntmp = new SQLCONN(row->field(1), atoi(row->field(2)), row->field(5), row->field(6), row->field(4), row->field(3));
|
||||
if(conntmp && conntmp->isok())
|
||||
{
|
||||
|
||||
SQLRES res(conntmp);
|
||||
long collid = atol(row->field(7));
|
||||
sprintf(sql, "SELECT asciiname, prefs FROM coll WHERE coll_id=%s", row->field(7));
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row = res.fetch_row();
|
||||
if(cache_base)
|
||||
{
|
||||
cache_base->addcoll(collid, zbaseid, row->field(0), (char *)(row->field(1)?row->field(1):""), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} =============================================================== */
|
||||
// on se connecte sur la base demand<6E>e
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
// ici normalement on check le user/pwd, mais pour l'instant on fait semblant
|
||||
// if(zuser && zpwd && strcmp((const char *)zuser, "alchemy")==0 && strcmp((const char *)zpwd, "alchemy")==0)
|
||||
// {
|
||||
PHRASEA2_G(global_session)->set_registered(Z_LVAL(zbaseid), true);
|
||||
if(Z_BVAL(zsave))
|
||||
PHRASEA2_G(global_session)->save();
|
||||
// global_session->dump();
|
||||
ZVAL_BOOL(return_value, TRUE);
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 1\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 3\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 0\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 2\n");
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_FUNCTION(phrasea_save_session)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsesid;
|
||||
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
if(ZEND_NUM_ARGS() == 1)
|
||||
{
|
||||
if(zend_parse_parameters(1 TSRMLS_CC, (char *)"l", &zsesid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
if(epublisher && Z_LVAL(zsesid) != -1)
|
||||
{
|
||||
if(PHRASEA2_G(global_session))
|
||||
{
|
||||
if(PHRASEA2_G(global_session)->get_session_id() == Z_LVAL(zsesid))
|
||||
{
|
||||
PHRASEA2_G(global_session)->save();
|
||||
ZVAL_BOOL(return_value, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 3\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 0\n");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// zend_printf("phrasea_register_base ERR 2\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_close_session)
|
||||
{
|
||||
SQLCONN *epublisher = PHRASEA2_G(global_epublisher);
|
||||
zval zsesid;
|
||||
char sql[256];
|
||||
|
||||
ZVAL_BOOL(return_value, FALSE);
|
||||
if(ZEND_NUM_ARGS()==1)
|
||||
{
|
||||
if(zend_parse_parameters(1 TSRMLS_CC, (char *)"l", &zsesid) == FAILURE)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(epublisher)
|
||||
{
|
||||
// on a pass<73> une session, on la supprime du cache
|
||||
sprintf(sql, "DELETE FROM cache WHERE session_id=%li", Z_LVAL(zsesid));
|
||||
if(epublisher->query(sql))
|
||||
{
|
||||
if(epublisher->affected_rows() == 1)
|
||||
{
|
||||
char *fname;
|
||||
int l = strlen(PHRASEA2_G(tempPath))
|
||||
+ 9 // "_phrasea."
|
||||
+ strlen(epublisher->ukey)
|
||||
+ 9 // ".answers."
|
||||
+ 33 // zsession
|
||||
+1; // '\0'
|
||||
if( (fname = (char *)EMALLOC(l)) )
|
||||
{
|
||||
// sprintf(fname, "%s_phrasea.answers.%ld.bin", tempPathBuffer, Z_LVAL(zsesid));
|
||||
sprintf(fname, "%s_phrasea.%s.answers.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsesid));
|
||||
remove(fname);
|
||||
// sprintf(fname, "%s_phrasea.spots.%ld.bin", tempPathBuffer, Z_LVAL(zsesid));
|
||||
sprintf(fname, "%s_phrasea.%s.spots.%ld.bin", PHRASEA2_G(tempPath), epublisher->ukey, Z_LVAL(zsesid));
|
||||
remove(fname);
|
||||
EFREE(fname);
|
||||
}
|
||||
ZVAL_BOOL(return_value, TRUE);
|
||||
}
|
||||
}
|
||||
// on en profite pour virer les sessions expir<69>es
|
||||
// epublisher->query("DELETE FROM cache WHERE DATE_ADD(lastaccess, INTERVAL 5 MINUTE)<NOW()");
|
||||
}
|
||||
}
|
||||
|
568
bin/src/php_phrasea2/phrasea_engine/sql.cpp
Executable file
568
bin/src/php_phrasea2/phrasea_engine/sql.cpp
Executable file
@@ -0,0 +1,568 @@
|
||||
#include "base_header.h"
|
||||
#include "phrasea_clock_t.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
#define QUOTE(x) _QUOTE(x)
|
||||
#define _QUOTE(a) #a
|
||||
|
||||
SQLCONN::SQLCONN(char *host, int port, char *user, char *passwd, char *dbname, bool trace)
|
||||
{
|
||||
this->ukey = NULL;
|
||||
this->connok = false;
|
||||
// if(trace)
|
||||
// zend_printf("NEW SQLCONN(host='%s' port=%i user='%s' passwd='%s' dbname='%s' engine='%s')<br>\n", host, port, user, passwd, dbname, engine);
|
||||
this->mysql_active_result_id = 0;
|
||||
this->sqlengine = PHRASEA_MYSQLENGINE;
|
||||
mysql_init(&(this->mysql_conn));
|
||||
|
||||
#ifdef MYSQL_OPT_RECONNECT
|
||||
my_bool reconnect = 1;
|
||||
mysql_options(&(this->mysql_conn), MYSQL_OPT_RECONNECT, &reconnect);
|
||||
#else
|
||||
#endif
|
||||
|
||||
if (mysql_real_connect(&(this->mysql_conn), host, user, passwd, NULL, port, NULL, CLIENT_COMPRESS) != NULL)
|
||||
{
|
||||
#ifdef MYSQLENCODE
|
||||
if (mysql_set_character_set(&(this->mysql_conn), QUOTE(MYSQLENCODE)) == 0)
|
||||
#endif
|
||||
{
|
||||
int l = strlen(host) + 1 + 65 + 1 + (dbname ? strlen(dbname) : 0);
|
||||
if(this->ukey = (char *)EMALLOC(l))
|
||||
{
|
||||
sprintf(this->ukey, "%s_%u_%s", host, (unsigned int)port, (dbname?dbname:"") );
|
||||
this->connok = true;
|
||||
if(dbname && (mysql_select_db(&(this->mysql_conn), dbname) != 0))
|
||||
{
|
||||
// zend_printf("mysql_select_db failed<br>\n");
|
||||
// on a demand<6E> une base <20> s<>lectionner mais echec : on ferme
|
||||
mysql_close(&(this->mysql_conn));
|
||||
// EFREE(this->ukey);
|
||||
// this->ukey = NULL;
|
||||
this->connok = false;
|
||||
}
|
||||
if(this->connok)
|
||||
{
|
||||
// on cr<63>e une table temporaire qui contiendra un extrait des droits distants (basusr)
|
||||
// cette table est temporaire donc propre <20> cette connexion, donc propre <20> cet application-server
|
||||
// c'est la responsabilit<69> du site distant de charger/maintenir la table <20> jour
|
||||
// (par exemple <20> la connexion d'un user, il doit updater ses droits dans l'application-server sur lequel il se connecte)
|
||||
// char *sql = "CREATE TEMPORARY TABLE IF NOT EXISTS `collusr` (`coll_id` bigint(20) NOT NULL default '0', `htmlname` varchar(50) default NULL, PRIMARY KEY (`coll_id`) ) TYPE=MyISAM";
|
||||
// char *sql = "CREATE TEMPORARY TABLE IF NOT EXISTS `collusr` (`coll_id` bigint(20) NOT NULL default '0', `usr_id` bigint(20) NOT NULL default '0', `mask_and` bigint(20) unsigned default NULL, `mask_xor` bigint(20) unsigned default NULL, PRIMARY KEY (`coll_id`,`usr_id`) ) TYPE=HEAP";
|
||||
// this->query(sql, -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void *SQLCONN::get_native_conn()
|
||||
{
|
||||
return(&(this->mysql_conn));
|
||||
}
|
||||
|
||||
SQLCONN::~SQLCONN()
|
||||
{
|
||||
if(this->ukey)
|
||||
EFREE(this->ukey);
|
||||
if(this->connok)
|
||||
{
|
||||
mysql_close(&(this->mysql_conn));
|
||||
}
|
||||
}
|
||||
|
||||
int SQLCONN::escape_string(char *str, int len, char *outbuff)
|
||||
{
|
||||
// size_t tolen;
|
||||
if(len == -1)
|
||||
len = strlen(str);
|
||||
if(outbuff == NULL)
|
||||
return((2*len)+1); // pas de buffer allou<6F> : on retourne la taille requise sans escaper
|
||||
return(mysql_real_escape_string(&(this->mysql_conn), outbuff, str, len));
|
||||
}
|
||||
|
||||
bool SQLCONN::query(char *sql, int len)
|
||||
{
|
||||
int r;
|
||||
// this->pgnres = -1;
|
||||
if(this->connok)
|
||||
{
|
||||
if(len == -1)
|
||||
len = strlen(sql);
|
||||
r = mysql_real_query(&(this->mysql_conn), sql, len);
|
||||
//zend_printf("SQL=%s ; myafr=%li, r=%i<br>\n", sql, mysql_affected_rows(&(this->mysql_conn)), r);
|
||||
//if(r != 0)
|
||||
// zend_printf("ERR:%s<br/>\n", this->error());
|
||||
return(r == 0);
|
||||
}
|
||||
return(false);
|
||||
}
|
||||
|
||||
const char *SQLCONN::error()
|
||||
{
|
||||
if(this->connok)
|
||||
{
|
||||
return(mysql_error(&(this->mysql_conn)));
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
my_ulonglong SQLCONN::affected_rows()
|
||||
{
|
||||
if(this->connok)
|
||||
{
|
||||
return(mysql_affected_rows(&(this->mysql_conn)));
|
||||
}
|
||||
return (long)(-1);
|
||||
}
|
||||
|
||||
bool SQLCONN::isok()
|
||||
{
|
||||
return(this->connok);
|
||||
}
|
||||
|
||||
bool SQLRES::query(char *sql)
|
||||
{
|
||||
if(mysql_query(&(parent_conn->mysql_conn), sql) == 0)
|
||||
{
|
||||
// zend_printf("SQL=%s<br>\n", sql);
|
||||
if(this->res)
|
||||
{
|
||||
mysql_free_result(this->res);
|
||||
this->res = NULL;
|
||||
}
|
||||
if(this->res = mysql_store_result(&(parent_conn->mysql_conn)))
|
||||
{
|
||||
// !!!!!!!!!!!!!!!!!!!!! conversion de _int64 en int !!!!!!!!!!!!!!!!!
|
||||
this->nrows = (int)mysql_num_rows(res);
|
||||
this->ncols = (int)mysql_num_fields(res);
|
||||
}
|
||||
return(true);
|
||||
}
|
||||
return(false);
|
||||
}
|
||||
|
||||
int SQLRES::get_nrows()
|
||||
{
|
||||
return(this->nrows);
|
||||
}
|
||||
|
||||
SQLRES::SQLRES(SQLCONN *parent_conn)
|
||||
{
|
||||
this->parent_conn = parent_conn;
|
||||
this->res = NULL;
|
||||
this->sqlrow.parent_res = this;
|
||||
this->ncols = 0;
|
||||
this->ncols = 0;
|
||||
}
|
||||
|
||||
SQLRES::~SQLRES()
|
||||
{
|
||||
if(this->res)
|
||||
mysql_free_result(this->res);
|
||||
}
|
||||
|
||||
SQLROW *SQLRES::fetch_row()
|
||||
{
|
||||
if(this->parent_conn->connok)
|
||||
{
|
||||
if(this->res)
|
||||
{
|
||||
this->sqlrow.row = mysql_fetch_row(this->res);
|
||||
if(this->sqlrow.row)
|
||||
return(&(this->sqlrow));
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
unsigned long *SQLRES::fetch_lengths()
|
||||
{
|
||||
if(this->parent_conn->connok)
|
||||
{
|
||||
if(this->res)
|
||||
{
|
||||
return(mysql_fetch_lengths(this->res));
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
SQLROW::SQLROW()
|
||||
{
|
||||
}
|
||||
|
||||
SQLROW::~SQLROW()
|
||||
{
|
||||
}
|
||||
|
||||
char *SQLROW::field(int n)
|
||||
{
|
||||
return(this->row[n]);
|
||||
}
|
||||
|
||||
#define SQLFIELD_RID 0
|
||||
#define SQLFIELD_PRID 1
|
||||
#define SQLFIELD_CID 2
|
||||
#define SQLFIELD_HITSTART 3
|
||||
#define SQLFIELD_HITLEN 4
|
||||
#define SQLFIELD_IW 5
|
||||
#define SQLFIELD_STATUS 6
|
||||
#define SQLFIELD_SHA256 7
|
||||
|
||||
|
||||
|
||||
// pose une rqt sql <20> la connexion phrasea
|
||||
// si result!=null, les r<>sultats sont stock<63>s dans une entr<74>e "answers" de ce tableau assoc.
|
||||
// sinon
|
||||
// les r<>sultats sont stock<63>s en ram dans le node
|
||||
void SQLCONN::phrasea_query(char *sql, NODE *n, bool reverse)
|
||||
{
|
||||
ANSWER *answer;
|
||||
long rid, lastrid;
|
||||
HIT *hit;
|
||||
SPOT *spot;
|
||||
CHRONO chrono;
|
||||
MYSQL_STMT *stmt;
|
||||
MYSQL_BIND bind[8];
|
||||
unsigned long length[8];
|
||||
my_bool is_null[8];
|
||||
my_bool error[8];
|
||||
long int_result[6];
|
||||
long long llstatus;
|
||||
unsigned char sha256[65];
|
||||
|
||||
lastrid = -1;
|
||||
// zend_printf("szll=%d, MYSQL=%s <br/>\n", sizeof(llstatus), sql);
|
||||
|
||||
startChrono(chrono);
|
||||
|
||||
//zend_printf("%d <br/>\n", __LINE__);
|
||||
if( (stmt = mysql_stmt_init(&(this->mysql_conn))) )
|
||||
{
|
||||
//zend_printf("%d <br/>\n", __LINE__);
|
||||
if( mysql_stmt_prepare(stmt, sql, strlen(sql)) == 0 )
|
||||
{
|
||||
//zend_printf("%d <br/>\n", __LINE__);
|
||||
// Execute the SELECT query
|
||||
if(mysql_stmt_execute(stmt) == 0)
|
||||
{
|
||||
n->time_sqlQuery = stopChrono(chrono);
|
||||
|
||||
// Bind the result buffers for all columns before fetching them
|
||||
memset(bind, 0, sizeof(bind));
|
||||
|
||||
for(int i=0; i<8; i++)
|
||||
{
|
||||
// INTEGER COLUMN(S)
|
||||
bind[i].buffer_type = MYSQL_TYPE_LONG;
|
||||
bind[i].buffer = (char *)(&int_result[i]);
|
||||
bind[i].is_null = &is_null[i];
|
||||
bind[i].length = &length[i];
|
||||
bind[i].error = &error[i];
|
||||
}
|
||||
// status column : 64 bits
|
||||
bind[SQLFIELD_STATUS].buffer_type = MYSQL_TYPE_LONGLONG;
|
||||
bind[SQLFIELD_STATUS].buffer = (char *)(&llstatus);
|
||||
|
||||
// sha256 column : 256 bits
|
||||
bind[SQLFIELD_SHA256].buffer_type = MYSQL_TYPE_STRING;
|
||||
bind[SQLFIELD_SHA256].buffer_length = 65;
|
||||
bind[SQLFIELD_SHA256].buffer = (char *)sha256;
|
||||
|
||||
// Bind the result buffers
|
||||
if (mysql_stmt_bind_result(stmt, bind) == 0)
|
||||
{
|
||||
//zend_printf("%d <br/>\n", __LINE__);
|
||||
// Now buffer all results to client (optional step)
|
||||
startChrono(chrono);
|
||||
if (mysql_stmt_store_result(stmt) != 0)
|
||||
{
|
||||
//fprintf(stderr, " mysql_stmt_store_result() failed\n");
|
||||
//fprintf(stderr, " %s\n", mysql_stmt_error(stmt));
|
||||
return;
|
||||
}
|
||||
//zend_printf("%d <br/>\n", __LINE__);
|
||||
n->time_sqlStore = stopChrono(chrono);
|
||||
|
||||
ANSWER *tmphead = n->lastanswer;
|
||||
startChrono(chrono);
|
||||
while(mysql_stmt_fetch(stmt) == 0)
|
||||
{
|
||||
// zend_printf("l=%ld <br/>\n", length[6]);
|
||||
rid = int_result[SQLFIELD_RID];
|
||||
// zend_printf("%d : rid=%ld<br/>\n", __LINE__, rid);
|
||||
// prid = int_result[SQLFIELD_PRID];
|
||||
// cid = int_result[SQLFIELD_CID];
|
||||
if(n)
|
||||
{
|
||||
if(rid != lastrid)
|
||||
{
|
||||
if(answer = (ANSWER *)(EMALLOC(sizeof(ANSWER))))
|
||||
{
|
||||
answer->firstspot = answer->lastspot = NULL;
|
||||
answer->firsthit = answer->lasthit = NULL;
|
||||
// answer->sqloffsets
|
||||
answer->rid = rid;
|
||||
answer->prid = int_result[SQLFIELD_PRID];
|
||||
answer->llstatus = llstatus;
|
||||
answer->cid = int_result[SQLFIELD_CID];
|
||||
|
||||
if(!is_null[SQLFIELD_SHA256])
|
||||
answer->osha256 = sha256;
|
||||
else
|
||||
answer->osha256 = NULL;
|
||||
|
||||
answer->nextanswer = NULL;
|
||||
if(!reverse)
|
||||
{
|
||||
if(!(n->firstanswer))
|
||||
n->firstanswer = answer;
|
||||
if(n->lastanswer)
|
||||
n->lastanswer->nextanswer = answer;
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!tmphead)
|
||||
{
|
||||
if(!n->lastanswer)
|
||||
{
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
answer->nextanswer = n->firstanswer;
|
||||
n->firstanswer = answer;
|
||||
}
|
||||
else
|
||||
{
|
||||
answer->nextanswer = tmphead->nextanswer;
|
||||
if(!answer->nextanswer)
|
||||
{
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
tmphead->nextanswer = answer;
|
||||
}
|
||||
}
|
||||
}
|
||||
n->nbranswers++;
|
||||
lastrid = rid;
|
||||
}
|
||||
}
|
||||
if(!is_null[SQLFIELD_IW] && answer && (hit = (HIT *)(EMALLOC(sizeof(HIT)))))
|
||||
{
|
||||
hit->iws = hit->iwe = int_result[SQLFIELD_IW];
|
||||
hit->nexthit = NULL;
|
||||
if(!(answer->firsthit))
|
||||
answer->firsthit = hit;
|
||||
if(answer->lasthit)
|
||||
answer->lasthit->nexthit = hit;
|
||||
answer->lasthit = hit;
|
||||
}
|
||||
if(!is_null[SQLFIELD_HITSTART] && !is_null[SQLFIELD_HITLEN] && answer && (spot = (SPOT *)(EMALLOC(sizeof(SPOT)))))
|
||||
{
|
||||
spot->start = int_result[SQLFIELD_HITSTART];
|
||||
spot->len = int_result[SQLFIELD_HITLEN];
|
||||
spot->nextspot = NULL;
|
||||
if(!(answer->firstspot))
|
||||
answer->firstspot = spot;
|
||||
if(answer->lastspot)
|
||||
answer->lastspot->nextspot = spot;
|
||||
answer->lastspot = spot;
|
||||
}
|
||||
}
|
||||
n->time_sqlFetch = stopChrono(chrono);
|
||||
// n->sql = sql;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
mysql_stmt_close(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void SQLCONN::phrasea_query(char *sql, NODE *n, zval *zanswers, bool reverse)
|
||||
{
|
||||
MYSQL_RES *myres;
|
||||
my_ulonglong nrows = 0;
|
||||
MYSQL_ROW myrow;
|
||||
ANSWER *answer;
|
||||
long cid, rid, prid, lastrid;
|
||||
HIT *hit;
|
||||
SPOT *spot;
|
||||
zval *zanswer, *zspots, *zspot;
|
||||
CHRONO chrono, chrono_all;
|
||||
MYSQL_STMT *stmt;
|
||||
MYSQL_BIND bind[6];
|
||||
|
||||
cid = rid = lastrid = -1;
|
||||
zend_printf("MYSQL=%s <br/>\n", sql);
|
||||
|
||||
startChrono(chrono_all);
|
||||
startChrono(chrono);
|
||||
|
||||
if(mysql_query(&(this->mysql_conn), sql) == 0)
|
||||
{
|
||||
n->time_sqlQuery = stopChrono(chrono);
|
||||
|
||||
//zend_printf("<!-- DUREE : %d msec (n->firstanswer=%ld, reverse=%i) -->\n\n", PHRASEA_GET_MS(&sqlin, &sqlout), n->firstanswer, reverse);
|
||||
startChrono(chrono);
|
||||
if((myres = mysql_store_result(&(this->mysql_conn))) != NULL)
|
||||
{
|
||||
n->time_sqlStore = stopChrono(chrono);
|
||||
|
||||
// zend_printf("nrows = %i\n", mysql_num_rows(myres));
|
||||
answer = NULL;
|
||||
ANSWER *tmphead = n->lastanswer;
|
||||
|
||||
startChrono(chrono);
|
||||
|
||||
while(myrow = mysql_fetch_row(myres))
|
||||
{
|
||||
rid = atoi(myrow[SQLFIELD_RID]);
|
||||
prid = atoi(myrow[SQLFIELD_PRID]);
|
||||
cid = atoi(myrow[SQLFIELD_CID]);
|
||||
if(n)
|
||||
{
|
||||
// zend_printf("rid=%i : iw=%i, hit.s=%i, hit.l=%i\n", rid, atoi(myrow[iwf]), atoi(myrow[hitstartf]), atoi(myrow[hitlenf]) );
|
||||
if(zanswers)
|
||||
{
|
||||
// on stocke dans la zval
|
||||
MAKE_STD_ZVAL(zanswer);
|
||||
array_init(zanswer);
|
||||
add_assoc_long(zanswer, (char *)"rid", rid);
|
||||
add_assoc_long(zanswer, (char *)"prid", prid);
|
||||
add_assoc_stringl(zanswer, (char *)"status", myrow[SQLFIELD_STATUS], 16, TRUE);
|
||||
add_assoc_long(zanswer, (char *)"cid", cid);
|
||||
if(myrow[SQLFIELD_HITSTART] && myrow[SQLFIELD_HITLEN])
|
||||
{
|
||||
MAKE_STD_ZVAL(zspots);
|
||||
array_init(zspots);
|
||||
add_assoc_zval(zanswer, (char *)"spots", zspots);
|
||||
}
|
||||
add_next_index_zval(zanswers, zanswer);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(answer = (ANSWER *)(EMALLOC(sizeof(ANSWER))))
|
||||
{
|
||||
// answer->sqloffsets
|
||||
answer->rid = rid;
|
||||
answer->prid = prid;
|
||||
memcpy(answer->status, myrow[2], 16);
|
||||
answer->cid = cid;
|
||||
answer->firstspot = answer->lastspot = NULL;
|
||||
answer->firsthit = answer->lasthit = NULL;
|
||||
// answer->xml = NULL;
|
||||
// answer->xmllenght = -1;
|
||||
// if(xmlf != -1)
|
||||
// {
|
||||
// lengths = mysql_fetch_lengths(myres);
|
||||
// if(answer->xml = EMALLOC(answer->xmllenght = lengths[xmlf]))
|
||||
// memcpy(answer->xml, myrow[xmlf], answer->xmllenght);
|
||||
// }
|
||||
|
||||
answer->nextanswer = NULL;
|
||||
if(!reverse)
|
||||
{
|
||||
if(!(n->firstanswer))
|
||||
n->firstanswer = answer;
|
||||
if(n->lastanswer)
|
||||
n->lastanswer->nextanswer = answer;
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//zend_printf("<!-- cid=%ld, rid=%ld -->\n", cid, rid);
|
||||
if(!tmphead)
|
||||
{
|
||||
if(!n->lastanswer)
|
||||
{
|
||||
//zend_printf("<!-- 0.0 : n->lastanswer = answer = %li -->\n", answer->rid);
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
//zend_printf("<!-- 0.1 : answer->nextanswer = n->firstanswer = %li -->\n", n->firstanswer ? n->firstanswer->rid : 0);
|
||||
answer->nextanswer = n->firstanswer;
|
||||
//zend_printf("<!-- 0.1 : n->firstanswer = answer = %li -->\n", answer->rid );
|
||||
n->firstanswer = answer;
|
||||
}
|
||||
else
|
||||
{
|
||||
//zend_printf("<!-- 1.0 : answer->nextanswer = tmphead->nextanswer = %li -->\n", tmphead->nextanswer ? tmphead->nextanswer->rid : 0 );
|
||||
answer->nextanswer = tmphead->nextanswer;
|
||||
if(!answer->nextanswer)
|
||||
{
|
||||
//zend_printf("<!-- 1.1 : n->lastanswer = answer = %li -->\n", answer->rid );
|
||||
n->lastanswer = answer;
|
||||
}
|
||||
//zend_printf("<!-- 1.2 : tmphead->nextanswer = answer = %li -->\n", answer->rid );
|
||||
tmphead->nextanswer = answer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
n->nbranswers++;
|
||||
lastrid = rid;
|
||||
}
|
||||
if(zanswers)
|
||||
{
|
||||
// on stocke dans la zval
|
||||
if(myrow[SQLFIELD_HITSTART] && myrow[SQLFIELD_HITLEN])
|
||||
{
|
||||
MAKE_STD_ZVAL(zspot);
|
||||
array_init(zspot);
|
||||
add_assoc_long(zspot, (char *)"start", atoi(myrow[SQLFIELD_HITSTART]));
|
||||
add_assoc_long(zspot, (char *)"len", atoi(myrow[SQLFIELD_HITLEN]));
|
||||
add_next_index_zval(zspots, zspot);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(myrow[SQLFIELD_IW] && answer && (hit = (HIT *)(EMALLOC(sizeof(HIT)))))
|
||||
{
|
||||
hit->iws = hit->iwe = atoi(myrow[SQLFIELD_IW]);
|
||||
hit->nexthit = NULL;
|
||||
if(!(answer->firsthit))
|
||||
answer->firsthit = hit;
|
||||
if(answer->lasthit)
|
||||
answer->lasthit->nexthit = hit;
|
||||
answer->lasthit = hit;
|
||||
// zend_printf(" - rid=%i : hit.iws=hit.iwe=%i\n", rid, hit->iws);
|
||||
}
|
||||
if(myrow[SQLFIELD_HITSTART] && myrow[SQLFIELD_HITLEN] && answer && (spot = (SPOT *)(EMALLOC(sizeof(SPOT)))))
|
||||
{
|
||||
spot->start = atoi(myrow[SQLFIELD_HITSTART]);
|
||||
spot->len = atoi(myrow[SQLFIELD_HITLEN]);
|
||||
spot->nextspot = NULL;
|
||||
if(!(answer->firstspot))
|
||||
answer->firstspot = spot;
|
||||
if(answer->lastspot)
|
||||
answer->lastspot->nextspot = spot;
|
||||
answer->lastspot = spot;
|
||||
// zend_printf(" - rid=%i : spot.s=%i, spot.l=%i\n", rid, spot->start, spot->len);
|
||||
}
|
||||
}
|
||||
}
|
||||
n->time_sqlFetch = stopChrono(chrono);
|
||||
// n->sql = sql;
|
||||
|
||||
// for(ANSWER *a=n->firstanswer; a; a=a->nextanswer)
|
||||
// zend_printf("<!-- ---------- cid=%ld, rid=%ld -->\n", a->cid, a->rid);
|
||||
// zend_printf("<!-- ---------- last = %ld -->\n", n->lastanswer->rid);
|
||||
mysql_free_result(myres);
|
||||
}
|
||||
}
|
||||
n->time_all = stopChrono(chrono_all);
|
||||
}
|
||||
*/
|
79
bin/src/php_phrasea2/phrasea_engine/sql.h
Executable file
79
bin/src/php_phrasea2/phrasea_engine/sql.h
Executable file
@@ -0,0 +1,79 @@
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#ifndef true
|
||||
#define true 1
|
||||
#endif
|
||||
#ifndef false
|
||||
#define false 0
|
||||
#endif
|
||||
|
||||
// SQLRES *SQLCONN::store_result();
|
||||
#ifndef SQL_H
|
||||
#define SQL_H 1
|
||||
|
||||
#include "phrasea_types.h" // define NODE
|
||||
|
||||
class SQLCONN
|
||||
{
|
||||
public:
|
||||
SQLCONN(char *host, int port, char *user, char *passwd, char *dbname, bool trace=false);
|
||||
~SQLCONN();
|
||||
char *ukey;
|
||||
bool isok();
|
||||
bool query(char *sql, int len = -1);
|
||||
const char *error();
|
||||
int escape_string(char *str, int len = -1, char *outbuff = NULL);
|
||||
void phrasea_query(char *sql, NODE *n, bool reverse=false);
|
||||
my_ulonglong affected_rows();
|
||||
// #WIN - _int64 affected_rows();
|
||||
void *get_native_conn();
|
||||
|
||||
// class SQLRES *store_result();
|
||||
friend class SQLRES;
|
||||
friend class SQLROW;
|
||||
private:
|
||||
int sqlengine;
|
||||
bool connok;
|
||||
// long pgnres;
|
||||
// char strport[64];
|
||||
MYSQL mysql_conn;
|
||||
int mysql_active_result_id;
|
||||
};
|
||||
|
||||
class SQLROW
|
||||
{
|
||||
public:
|
||||
SQLROW();
|
||||
~SQLROW();
|
||||
char *field(int n);
|
||||
friend class SQLRES;
|
||||
friend class SQLCONN;
|
||||
private:
|
||||
MYSQL_ROW row;
|
||||
class SQLRES *parent_res;
|
||||
};
|
||||
|
||||
class SQLRES
|
||||
{
|
||||
public:
|
||||
SQLRES(SQLCONN *parent_conn);
|
||||
~SQLRES();
|
||||
bool query(char *sql);
|
||||
class SQLROW *fetch_row();
|
||||
int get_nrows();
|
||||
friend class SQLROW;
|
||||
friend class SQLCONN;
|
||||
unsigned long *fetch_lengths();
|
||||
private:
|
||||
class SQLROW sqlrow;
|
||||
MYSQL_RES *res;
|
||||
SQLCONN *parent_conn;
|
||||
int nrows, ncols, currow;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
161
bin/src/php_phrasea2/phrasea_engine/subdefs.cpp
Executable file
161
bin/src/php_phrasea2/phrasea_engine/subdefs.cpp
Executable file
@@ -0,0 +1,161 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_subdefs)
|
||||
{
|
||||
int namelen;
|
||||
char *name = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==3)
|
||||
{
|
||||
if(zend_parse_parameters(3 TSRMLS_CC, (char *)"lll", &zsession, &zbaseid, &zrid) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"llls", &zsession, &zbaseid, &zrid, &name, &namelen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
if(namelen > 63)
|
||||
namelen = 63;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
/*
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(Z_LVAL(zsession)))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[256];
|
||||
SQLRES res(conn);
|
||||
if(name)
|
||||
{
|
||||
char namez[64];
|
||||
memcpy(namez, name, namelen);
|
||||
namez[namelen] = '\0';
|
||||
sprintf(sql, "SELECT name, baseurl, file, width, height, mime, path, size, substit, type, sha256, bitly, credate, moddate FROM record LEFT JOIN subdef ON subdef.record_id=record.record_id WHERE record.record_id=%li AND name='%s'", Z_LVAL(zrid), namez);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(sql, "SELECT name, baseurl, file, width, height, mime, path, size, substit, type, sha256, bitly, credate, moddate FROM record LEFT JOIN subdef ON subdef.record_id=record.record_id WHERE record.record_id=%li", Z_LVAL(zrid));
|
||||
}
|
||||
// zend_printf("SQL : %s<br>\n", sql);
|
||||
|
||||
// RETURN_FALSE;
|
||||
// return;
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row;
|
||||
zval *zanswer;
|
||||
array_init(return_value);
|
||||
while(row = res.fetch_row())
|
||||
{
|
||||
if(!row->field(0))
|
||||
continue;
|
||||
|
||||
MAKE_STD_ZVAL(zanswer);
|
||||
array_init(zanswer);
|
||||
if(row->field(1))
|
||||
add_assoc_string(zanswer, (char *)"baseurl", row->field(1), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"baseurl");
|
||||
|
||||
if(row->field(2))
|
||||
add_assoc_string(zanswer, (char *)"file", row->field(2), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"file");
|
||||
|
||||
if(row->field(3))
|
||||
add_assoc_long(zanswer, (char *)"width", atol(row->field(3)));
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"width");
|
||||
|
||||
if(row->field(4))
|
||||
add_assoc_long(zanswer, (char *)"height", atol(row->field(4)));
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"height");
|
||||
|
||||
if(row->field(5))
|
||||
add_assoc_string(zanswer, (char *)"mime", row->field(5), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"mime");
|
||||
|
||||
if(row->field(6))
|
||||
add_assoc_string(zanswer, (char *)"path", row->field(6), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"path");
|
||||
|
||||
if(row->field(7))
|
||||
add_assoc_long(zanswer, (char *)"size", atol(row->field(7)));
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"size");
|
||||
|
||||
if(row->field(8))
|
||||
add_assoc_long(zanswer, (char *)"substit", atol(row->field(8)));
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"substit");
|
||||
|
||||
if(row->field(9))
|
||||
add_assoc_string(zanswer, (char *)"type", row->field(9), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"type");
|
||||
|
||||
if(row->field(10))
|
||||
add_assoc_string(zanswer, (char *)"sha256", row->field(10), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"sha256");
|
||||
|
||||
if(row->field(11))
|
||||
add_assoc_string(zanswer, (char *)"bitly", row->field(11), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"bitly");
|
||||
|
||||
if(row->field(12))
|
||||
add_assoc_string(zanswer, (char *)"credate", row->field(12), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"credate");
|
||||
|
||||
if(row->field(13))
|
||||
add_assoc_string(zanswer, (char *)"moddate", row->field(13), true);
|
||||
else
|
||||
add_assoc_null(zanswer, (char *)"moddate");
|
||||
|
||||
add_assoc_zval(return_value, row->field(0), zanswer);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
87
bin/src/php_phrasea2/phrasea_engine/trace_memory.cpp
Executable file
87
bin/src/php_phrasea2/phrasea_engine/trace_memory.cpp
Executable file
@@ -0,0 +1,87 @@
|
||||
// #include "base_header.h"
|
||||
#include "php.h"
|
||||
#define RAMLOG "/home/gaulier/ramlog.txt"
|
||||
#define K (sizeof(int))
|
||||
|
||||
int allocated = 0;
|
||||
|
||||
void tracelog(const char *s, const char *file, int line)
|
||||
{
|
||||
FILE *fp;
|
||||
if(fp = fopen(RAMLOG, "a"))
|
||||
{
|
||||
// fprintf(fp, "%s (%i) : %s\n", file, line, s);
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
|
||||
void *my_emalloc(int s, const char *file, int line)
|
||||
{
|
||||
void *p, *p2;
|
||||
FILE *fp;
|
||||
p = emalloc(K + s);
|
||||
p2 = (unsigned char *)p + K;
|
||||
if(p)
|
||||
*(int *)p = s;
|
||||
allocated += s;
|
||||
// zend_printf("(%i):S=%i%s p=%i p2=%i\n", s, allocated, p?"":" ERROR ", p, p2);
|
||||
if(fp = fopen(RAMLOG, "a"))
|
||||
{
|
||||
// fprintf(fp, "%s (%i) +%i S=%i%s p=0x%p p2=0x%p\n", file, line, s, allocated, p?"":" ERROR ", p, p2);
|
||||
//fprintf(fp, "(%i):S=%i%s p=0x%p p2=0x%p\n", s, allocated, p?"":" ERROR ", p, p2);
|
||||
fclose(fp);
|
||||
}
|
||||
return(p2);
|
||||
}
|
||||
|
||||
void my_efree(void *p2, const char *file, int line)
|
||||
{
|
||||
int s=0;
|
||||
void *p = ((unsigned char*)p2) - K;
|
||||
FILE *fp;
|
||||
if(p2)
|
||||
{
|
||||
s = *((int *)p);
|
||||
allocated -= s;
|
||||
// zend_printf("efree(%i):S=%i p2=%i p=%i\n", s, allocated, p2, p);
|
||||
if(fp = fopen(RAMLOG, "a"))
|
||||
{
|
||||
// fprintf(fp, "%s (%i) -%i S=%i p2=0x%p p=0x%p\n", file, line, s, allocated, p2, p);
|
||||
//fprintf(fp, "efree(%i):S=%i p2=0x%p p=0x%p\n", s, allocated, p2, p);
|
||||
fclose(fp);
|
||||
}
|
||||
efree(p);
|
||||
tracelog("freeded", file, line);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(fp = fopen(RAMLOG, "a"))
|
||||
{
|
||||
// fprintf(fp, "%s (%i) efree(ERROR)\n", file, line);
|
||||
//fprintf(fp, "efree(ERROR)\n");
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
char *my_estrdup(char *s) //, const char *file, int line)
|
||||
{
|
||||
char *p;
|
||||
int l=strlen(s)+1;
|
||||
if(p = (char *)emalloc(l))
|
||||
{
|
||||
strcpy(p, s);
|
||||
}
|
||||
return(p);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
#define emalloc(s) my_emalloc(s)
|
||||
#define efree(s) my_efree(s)
|
||||
#define estrdup(s) my_estrdup(s)
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
22
bin/src/php_phrasea2/phrasea_engine/trace_memory.h
Executable file
22
bin/src/php_phrasea2/phrasea_engine/trace_memory.h
Executable file
@@ -0,0 +1,22 @@
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
// ------------------------------------------------ allocation m<>moire trac<61>e ----------------------
|
||||
#if 1
|
||||
#define EMALLOC(s) emalloc(s)
|
||||
#define EFREE(p) efree(p)
|
||||
#define ESTRDUP(p) estrdup(p)
|
||||
#define TRACELOG(s) void()
|
||||
#else
|
||||
void *my_emalloc(int s, const char *file, int line);
|
||||
void my_efree(void *p2, const char *file, int line);
|
||||
#define EMALLOC(s) my_emalloc(s, __FILE__, __LINE__)
|
||||
#define EFREE(p) my_efree(p, __FILE__, __LINE__)
|
||||
|
||||
char *my_estrdup(char *s);
|
||||
#define ESTRDUP(p) my_estrdup(p)
|
||||
|
||||
void tracelog(const char *s, const char *file, int line);
|
||||
#define TRACELOG(s) tracelog((s), __FILE__, __LINE__)
|
||||
#endif
|
||||
// -------------------------------------------------------------------------------------------------
|
||||
|
||||
|
35
bin/src/php_phrasea2/phrasea_engine/utils.cpp
Executable file
35
bin/src/php_phrasea2/phrasea_engine/utils.cpp
Executable file
@@ -0,0 +1,35 @@
|
||||
#include "base_header.h"
|
||||
|
||||
// trier un tableau d'entiers
|
||||
void sort_int(int nint, int *tint)
|
||||
{
|
||||
register int i,j,tmp;
|
||||
for(i=0; i<nint-1; i++)
|
||||
{
|
||||
for(j=i+1; j<nint; j++)
|
||||
{
|
||||
if(tint[j] < tint[i])
|
||||
{
|
||||
tmp = tint[i];
|
||||
tint[i] = tint[j];
|
||||
tint[j] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# ifdef PHP_WIN32
|
||||
int millisec_diff(struct _timeb *timestart, struct _timeb *timeend)
|
||||
{
|
||||
return((1000 * (timeend->time - timestart->time)) + (timeend->millitm - timestart->millitm));
|
||||
}
|
||||
|
||||
void resetclock(struct _timeb * timeref)
|
||||
{
|
||||
// ******* tosee : n ?
|
||||
// n->timeref.time = 0; n->timeref.millitm = 0;
|
||||
timeref->time = timeref->millitm = 0;
|
||||
}
|
||||
#endif
|
||||
|
180
bin/src/php_phrasea2/phrasea_engine/uuid.cpp
Normal file
180
bin/src/php_phrasea2/phrasea_engine/uuid.cpp
Normal file
@@ -0,0 +1,180 @@
|
||||
/*
|
||||
This part of the extension is imported from the php-uuid PECL extension written by Hartmut Holzgraefe and released under GPL 2.1
|
||||
|
||||
Authors: Hartmut Holzgraefe <hartmut@php.net>
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_uuid_create)
|
||||
{
|
||||
long uuid_type = 0;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &uuid_type) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
uuid_t uuid;
|
||||
char uuid_str[37];
|
||||
|
||||
switch(uuid_type) {
|
||||
case UUID_TYPE_DCE_TIME:
|
||||
uuid_generate_time(uuid);
|
||||
break;
|
||||
case UUID_TYPE_DCE_RANDOM:
|
||||
uuid_generate_random(uuid);
|
||||
break;
|
||||
case UUID_TYPE_DEFAULT:
|
||||
uuid_generate(uuid);
|
||||
break;
|
||||
default:
|
||||
php_error_docref(NULL TSRMLS_CC,
|
||||
E_WARNING,
|
||||
"Unknown/invalid UUID type '%d' requested, using default type instead",
|
||||
uuid_type);
|
||||
uuid_generate(uuid);
|
||||
break;
|
||||
}
|
||||
|
||||
uuid_unparse(uuid, uuid_str);
|
||||
|
||||
RETURN_STRING(uuid_str, 1);
|
||||
} while (0);
|
||||
}
|
||||
|
||||
|
||||
/* {{{ proto bool uuid_is_valid(string uuid)
|
||||
Check whether a given UUID string is a valid UUID */
|
||||
ZEND_FUNCTION(phrasea_uuid_is_valid)
|
||||
{
|
||||
|
||||
const char * uuid = NULL;
|
||||
int uuid_len = 0;
|
||||
|
||||
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uuid, &uuid_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
uuid_t u;
|
||||
RETURN_BOOL(0 == uuid_parse(uuid, u));
|
||||
} while (0);
|
||||
}
|
||||
/* }}} uuid_is_valid */
|
||||
|
||||
|
||||
/* {{{ proto int uuid_compare(string uuid1, string uuid2)
|
||||
Compare two UUIDs */
|
||||
ZEND_FUNCTION(phrasea_uuid_compare)
|
||||
{
|
||||
|
||||
const char * uuid1 = NULL;
|
||||
int uuid1_len = 0;
|
||||
const char * uuid2 = NULL;
|
||||
int uuid2_len = 0;
|
||||
|
||||
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &uuid1, &uuid1_len, &uuid2, &uuid2_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
uuid_t u1, u2;
|
||||
|
||||
if(uuid_parse(uuid1, u1)) RETURN_FALSE;
|
||||
if(uuid_parse(uuid2, u2)) RETURN_FALSE;
|
||||
|
||||
RETURN_LONG(uuid_compare(u1, u2));
|
||||
} while (0);
|
||||
}
|
||||
/* }}} uuid_compare */
|
||||
|
||||
|
||||
/* {{{ proto bool uuid_is_null(string uuid)
|
||||
Check wheter an UUID is the NULL UUID 00000000-0000-0000-0000-000000000000 */
|
||||
ZEND_FUNCTION(phrasea_uuid_is_null)
|
||||
{
|
||||
|
||||
const char * uuid = NULL;
|
||||
int uuid_len = 0;
|
||||
|
||||
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uuid, &uuid_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
uuid_t u;
|
||||
|
||||
if(uuid_parse(uuid, u)) RETURN_FALSE;
|
||||
|
||||
RETURN_BOOL(uuid_is_null(u));
|
||||
} while (0);
|
||||
}
|
||||
/* }}} uuid_is_null */
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_uuid_parse)
|
||||
{
|
||||
|
||||
const char * uuid = NULL;
|
||||
int uuid_len = 0;
|
||||
|
||||
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uuid, &uuid_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
uuid_t uuid_bin;
|
||||
|
||||
if (uuid_parse(uuid, uuid_bin)) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
RETURN_STRINGL((char *)uuid_bin, sizeof(uuid_t), 1);
|
||||
} while (0);
|
||||
}
|
||||
/* }}} uuid_parse */
|
||||
|
||||
|
||||
/* {{{ proto string uuid_unparse(string uuid)
|
||||
*/
|
||||
ZEND_FUNCTION(phrasea_uuid_unparse)
|
||||
{
|
||||
|
||||
const char * uuid = NULL;
|
||||
int uuid_len = 0;
|
||||
|
||||
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &uuid, &uuid_len) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
char uuid_txt[37];
|
||||
|
||||
if (uuid_len != sizeof(uuid_t)) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
uuid_unparse((unsigned char *)uuid, uuid_txt);
|
||||
|
||||
RETURN_STRINGL(uuid_txt, 36, 1);
|
||||
} while (0);
|
||||
}
|
||||
/* }}} uuid_unparse */
|
||||
|
325
bin/src/php_phrasea2/phrasea_engine/xmlcaption.cpp
Executable file
325
bin/src/php_phrasea2/phrasea_engine/xmlcaption.cpp
Executable file
@@ -0,0 +1,325 @@
|
||||
#include "base_header.h"
|
||||
|
||||
#include "../php_phrasea2.h"
|
||||
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_xmlcaption)
|
||||
{
|
||||
int highlightlen;
|
||||
char *highlight = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==3)
|
||||
{
|
||||
if(zend_parse_parameters(3 TSRMLS_CC, (char *)"lll", &zsession, &zbaseid, &zrid) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"llls", &zsession, &zbaseid, &zrid, &highlight, &highlightlen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
if(highlightlen > 63)
|
||||
highlightlen = 63;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
/*
|
||||
if(!global_session || global_session->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(Z_LVAL(zsession)))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
RETVAL_FALSE;
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[256];
|
||||
SQLRES res(conn);
|
||||
// if(name)
|
||||
// {
|
||||
// char namez[64];
|
||||
// memcpy(namez, name, namelen);
|
||||
// namez[namelen] = '\0';
|
||||
// }
|
||||
sprintf(sql, "SELECT xml FROM record WHERE record_id=%li", Z_LVAL(zrid));
|
||||
// zend_printf("SQL : %s<br>\n", sql);
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row;
|
||||
if(row = res.fetch_row())
|
||||
{
|
||||
RETVAL_STRING(row->field(0), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ZEND_FUNCTION(phrasea_status)
|
||||
{
|
||||
int highlightlen;
|
||||
char *highlight = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==3)
|
||||
{
|
||||
if(zend_parse_parameters(3 TSRMLS_CC, (char *)"lll", &zsession, &zbaseid, &zrid) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"llls", &zsession, &zbaseid, &zrid, &highlight, &highlightlen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
if(highlightlen > 63)
|
||||
highlightlen = 63;
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
}
|
||||
/*
|
||||
if(!global_session || global_session->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
zend_printf("bad global session : restoring<br>\n");
|
||||
if(CACHE_SESSION *tmp_session = new CACHE_SESSION(0))
|
||||
{
|
||||
if(tmp_session->restore(Z_LVAL(zsession)))
|
||||
{
|
||||
if(global_session)
|
||||
delete global_session;
|
||||
global_session = tmp_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
RETVAL_FALSE;
|
||||
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char sql[256];
|
||||
SQLRES res(conn);
|
||||
// if(name)
|
||||
// {
|
||||
// char namez[64];
|
||||
// memcpy(namez, name, namelen);
|
||||
// namez[namelen] = '\0';
|
||||
// }
|
||||
sprintf(sql, "SELECT BIN(status) FROM record WHERE record_id=%li", Z_LVAL(zrid));
|
||||
// zend_printf("SQL : %s<br>\n", sql);
|
||||
if(res.query(sql))
|
||||
{
|
||||
SQLROW *row;
|
||||
if(row = res.fetch_row())
|
||||
{
|
||||
RETVAL_STRING(row->field(0), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
ZEND_FUNCTION(phrasea_setstatus)
|
||||
{
|
||||
int maskandlen;
|
||||
char *maskand = NULL;
|
||||
int maskorlen;
|
||||
char *maskor = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, "lllss", &zsession, &zbaseid, &zrid, &maskand, &maskandlen, &maskor, &maskorlen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
RETVAL_FALSE;
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char *escapedmaskand=NULL, *escapedmaskand=NULL, *sql;
|
||||
int l;
|
||||
l = conn->escape_string(xml, xmllen, NULL); // on obtient la taille maximum escap<61>e
|
||||
if( (escapedmaskand = (char *)EMALLOC(l_and)) && (escapedmaskor = (char *)EMALLOC(l_or)) )
|
||||
{
|
||||
l_and = conn->escape_string(maskand, maskandlen, escapedmaskand); // on obtient la taille r<>elle
|
||||
l_or = conn->escape_string(maskor , maskorlen, escapedmaskor); // on obtient la taille r<>elle
|
||||
if(sql = (char *)EMALLOC(l_and + l_or + sizeof("UPDATE record SET moddate=NOW(), status=((status & _) | _) WHERE record_id=???????????")))
|
||||
{
|
||||
sprintf(sql, "UPDATE record SET moddate=NOW(), status=((status & %s) | %s) WHERE record_id=%i", escapedmaskand, escapedmaskor, Z_LVAL(zrid));
|
||||
|
||||
if(conn->query(sql))
|
||||
RETVAL_TRUE;
|
||||
|
||||
EFREE(sql);
|
||||
}
|
||||
}
|
||||
if(escapedmaskand
|
||||
EFREE(escapedxml);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
ZEND_FUNCTION(phrasea_setstatus)
|
||||
{
|
||||
int maskandlen;
|
||||
char *maskand = NULL;
|
||||
int maskorlen;
|
||||
char *maskor = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
if(ZEND_NUM_ARGS()==5)
|
||||
{
|
||||
if(zend_parse_parameters(5 TSRMLS_CC, (char *)"lllss", &zsession, &zbaseid, &zrid, &maskand, &maskandlen, &maskor, &maskorlen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
RETVAL_FALSE;
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char *sql;
|
||||
int l=0;
|
||||
if(sql = (char *)EMALLOC(maskandlen + maskorlen + sizeof("UPDATE record SET moddate=NOW(), status=((status & _) | _) WHERE record_id=???????????")))
|
||||
{
|
||||
l += sprintf(sql+l, "UPDATE record SET moddate=NOW(), status=((status & " );
|
||||
memcpy(sql+l, maskand, maskandlen);
|
||||
l += maskandlen;
|
||||
l += sprintf(sql+l, ") | " );
|
||||
memcpy(sql+l, maskor, maskorlen);
|
||||
l += maskandlen;
|
||||
l += sprintf(sql+l, ") WHERE record_id=%li", Z_LVAL(zrid) );
|
||||
|
||||
// zend_printf("SQL : %s<br>\n", sql);
|
||||
if(conn->query(sql))
|
||||
RETVAL_TRUE;
|
||||
EFREE(sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZEND_FUNCTION(phrasea_setxmlcaption)
|
||||
{
|
||||
int xmllen;
|
||||
char *xml = NULL;
|
||||
zval zsession, zbaseid, zrid;
|
||||
int id = -1;
|
||||
bool conn_ok = TRUE;
|
||||
// zend_printf("phrasea_setxmlcaption !<br>\n");
|
||||
if(ZEND_NUM_ARGS()==4)
|
||||
{
|
||||
if(zend_parse_parameters(4 TSRMLS_CC, (char *)"llls", &zsession, &zbaseid, &zrid, &xml, &xmllen) == FAILURE)
|
||||
{
|
||||
RETURN_FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
WRONG_PARAM_COUNT;
|
||||
// zend_printf("phrasea_setxmlcaption : %i<br>\n", xmllen);
|
||||
// RETURN_TRUE;
|
||||
|
||||
if(!PHRASEA2_G(global_session) || PHRASEA2_G(global_session)->get_session_id() != Z_LVAL(zsession))
|
||||
{
|
||||
// la session n'existe pas, on ne peut pas continuer
|
||||
RETURN_FALSE;
|
||||
}
|
||||
// on cherche la base dans le cache
|
||||
// global_session->dump();
|
||||
|
||||
RETVAL_FALSE;
|
||||
SQLCONN *conn = PHRASEA2_G(global_session)->connect(Z_LVAL(zbaseid));
|
||||
if(conn)
|
||||
{
|
||||
char *escapedxml, *sql;
|
||||
int l;
|
||||
if(sql = (char *)EMALLOC(sizeof("DELETE FROM idx WHERE record_id=??????????????????????")))
|
||||
{
|
||||
sprintf(sql, "DELETE FROM idx WHERE record_id=%li", Z_LVAL(zrid));
|
||||
|
||||
conn->query(sql);
|
||||
|
||||
EFREE(sql);
|
||||
}
|
||||
|
||||
l = conn->escape_string(xml, xmllen, NULL); // on obtient la taille maximum escap<61>e
|
||||
if(escapedxml = (char *)EMALLOC(l))
|
||||
{
|
||||
l = conn->escape_string(xml, xmllen, escapedxml); // on obtient la taille r<>elle
|
||||
if(sql = (char *)EMALLOC(l + sizeof("UPDATE record SET moddate=NOW(), status=status & ~1, xml='_' WHERE record_id=??????????????????????")))
|
||||
{
|
||||
sprintf(sql, "UPDATE record SET moddate=NOW(), status=status & ~1, xml='%s' WHERE record_id=%li", escapedxml, Z_LVAL(zrid));
|
||||
|
||||
if(conn->query(sql))
|
||||
RETVAL_TRUE;
|
||||
|
||||
EFREE(sql);
|
||||
}
|
||||
EFREE(escapedxml);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
2418
bin/src/php_phrasea2/run-tests.php
Normal file
2418
bin/src/php_phrasea2/run-tests.php
Normal file
File diff suppressed because it is too large
Load Diff
21
bin/src/php_phrasea2/tests/001.phpt
Normal file
21
bin/src/php_phrasea2/tests/001.phpt
Normal file
@@ -0,0 +1,21 @@
|
||||
--TEST--
|
||||
Check for phrasea2 presence
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("phrasea2")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
echo "phrasea2 extension is available";
|
||||
/*
|
||||
you can add regression tests for your extension here
|
||||
|
||||
the output of your test code has to be equal to the
|
||||
text in the --EXPECT-- section below for the tests
|
||||
to pass, differences between the output and the
|
||||
expected text are interpreted as failure
|
||||
|
||||
see php5/README.TESTING for further information on
|
||||
writing regression tests
|
||||
*/
|
||||
?>
|
||||
--EXPECT--
|
||||
phrasea2 extension is available
|
954
bin/src/phraseanet_indexer/.cproject
Normal file
954
bin/src/phraseanet_indexer/.cproject
Normal file
@@ -0,0 +1,954 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?>
|
||||
|
||||
<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.debug.215734493">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.debug.215734493" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings>
|
||||
<externalSetting languages="cdt.managedbuild.tool.gnu.c.compiler.input.1723689327">
|
||||
<entry flags="" kind="includePath" name="/usr/include"/>
|
||||
<entry flags="" kind="includePath" name="/usr/include/libxml2"/>
|
||||
</externalSetting>
|
||||
</externalSettings>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="cindexer" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.debug.215734493" name="Debug" parent="cdt.managedbuild.config.gnu.exe.debug">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.debug.215734493." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.debug.1192777845" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.debug">
|
||||
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.debug.1710315263" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.debug"/>
|
||||
<builder buildPath="${workspace_loc:/cindexer/Debug}" id="cdt.managedbuild.target.gnu.builder.exe.debug.1519881714" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.debug"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1714261724" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.910686518" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug">
|
||||
<option id="gnu.cpp.compiler.exe.debug.option.optimization.level.425728587" name="Optimization Level" superClass="gnu.cpp.compiler.exe.debug.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.exe.debug.option.debugging.level.66014958" name="Debug Level" superClass="gnu.cpp.compiler.exe.debug.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.include.paths.1545619904" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="/usr/include/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="/usr/include/mysql/"/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1689422968" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.debug.901350661" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.debug">
|
||||
<option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.exe.debug.option.optimization.level.1800228119" name="Optimization Level" superClass="gnu.c.compiler.exe.debug.option.optimization.level" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.exe.debug.option.debugging.level.1461849097" name="Debug Level" superClass="gnu.c.compiler.exe.debug.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.include.paths.269729307" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="/usr/include"/>
|
||||
<listOptionValue builtIn="false" value="/usr/include/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="/usr/include/mysql/"/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1723689327" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.debug.1259611459" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.debug"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug.1642386473" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.debug">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.118891256" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.debug.1711684336" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.debug">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.190359241" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="src"/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.215734493;cdt.managedbuild.config.gnu.exe.debug.215734493.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.910686518;cdt.managedbuild.tool.gnu.cpp.compiler.input.1689422968">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.740389843;cdt.managedbuild.config.gnu.exe.release.740389843.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.844945369;cdt.managedbuild.tool.gnu.cpp.compiler.input.1888370256">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.215734493;cdt.managedbuild.config.gnu.exe.debug.215734493.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.901350661;cdt.managedbuild.tool.gnu.c.compiler.input.1723689327">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.740389843;cdt.managedbuild.config.gnu.exe.release.740389843.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.679798380;cdt.managedbuild.tool.gnu.c.compiler.input.1367600996">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="cdt.managedbuild.config.gnu.exe.release.740389843">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.config.gnu.exe.release.740389843" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactName="cindexer" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe" cleanCommand="rm -rf" description="" id="cdt.managedbuild.config.gnu.exe.release.740389843" name="Release" parent="cdt.managedbuild.config.gnu.exe.release">
|
||||
<folderInfo id="cdt.managedbuild.config.gnu.exe.release.740389843." name="/" resourcePath="">
|
||||
<toolChain id="cdt.managedbuild.toolchain.gnu.exe.release.291195499" name="Linux GCC" superClass="cdt.managedbuild.toolchain.gnu.exe.release">
|
||||
<targetPlatform id="cdt.managedbuild.target.gnu.platform.exe.release.1419827200" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.exe.release"/>
|
||||
<builder buildPath="${workspace_loc:/cindexer/Release}" id="cdt.managedbuild.target.gnu.builder.exe.release.249141399" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.exe.release"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.archiver.base.1805463705" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.844945369" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.exe.release">
|
||||
<option id="gnu.cpp.compiler.exe.release.option.optimization.level.1492793847" name="Optimization Level" superClass="gnu.cpp.compiler.exe.release.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.exe.release.option.debugging.level.131983807" name="Debug Level" superClass="gnu.cpp.compiler.exe.release.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.include.paths.1219807806" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="/usr/include/mysql/"/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1888370256" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.compiler.exe.release.679798380" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.exe.release">
|
||||
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.exe.release.option.optimization.level.703790021" name="Optimization Level" superClass="gnu.c.compiler.exe.release.option.optimization.level" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.exe.release.option.debugging.level.1325614372" name="Debug Level" superClass="gnu.c.compiler.exe.release.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.include.paths.466737899" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="/usr/include/libxml2"/>
|
||||
<listOptionValue builtIn="false" value="/usr/include/mysql/"/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1367600996" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.c.linker.exe.release.1814630070" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.exe.release"/>
|
||||
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.exe.release.257510005" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.exe.release">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1691470537" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="cdt.managedbuild.tool.gnu.assembler.exe.release.587355022" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.exe.release">
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1006858333" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.215734493;cdt.managedbuild.config.gnu.exe.debug.215734493.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.debug.910686518;cdt.managedbuild.tool.gnu.cpp.compiler.input.1689422968">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.740389843;cdt.managedbuild.config.gnu.exe.release.740389843.;cdt.managedbuild.tool.gnu.cpp.compiler.exe.release.844945369;cdt.managedbuild.tool.gnu.cpp.compiler.input.1888370256">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.debug.215734493;cdt.managedbuild.config.gnu.exe.debug.215734493.;cdt.managedbuild.tool.gnu.c.compiler.exe.debug.901350661;cdt.managedbuild.tool.gnu.c.compiler.input.1723689327">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.exe.release.740389843;cdt.managedbuild.config.gnu.exe.release.740389843.;cdt.managedbuild.tool.gnu.c.compiler.exe.release.679798380;cdt.managedbuild.tool.gnu.c.compiler.input.1367600996">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/${specs_file}"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'g++ -E -P -v -dD "${plugin_state_location}/specs.cpp"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-c 'gcc -E -P -v -dD "${plugin_state_location}/specs.c"'" command="sh" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="cindexer.cdt.managedbuild.target.gnu.exe.1109846491" name="Executable" projectType="cdt.managedbuild.target.gnu.exe"/>
|
||||
</storageModule>
|
||||
</cproject>
|
82
bin/src/phraseanet_indexer/.project
Normal file
82
bin/src/phraseanet_indexer/.project
Normal file
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>cindexer</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>?name?</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.autoBuildTarget</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildArguments</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildCommand</key>
|
||||
<value>make</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.buildLocation</key>
|
||||
<value>${workspace_loc:/cindexer/Debug}</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
|
||||
<value>clean</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.contents</key>
|
||||
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.fullBuildTarget</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
12
bin/src/phraseanet_indexer/Makefile.am
Normal file
12
bin/src/phraseanet_indexer/Makefile.am
Normal file
@@ -0,0 +1,12 @@
|
||||
AUTOMAKE_OPTIONS = foreign no-dependencies no-define no-dist no-installinfo
|
||||
|
||||
# what flags you want to pass to the C compiler & linker
|
||||
CFLAGS = --pedantic -Wall -std=c99 -O2
|
||||
#LDFLAGS =
|
||||
|
||||
# this lists the binaries to produce, the (non-PHONY, binary) targets in
|
||||
# the previous manual Makefile
|
||||
bin_PROGRAMS = phraseanet_indexer
|
||||
phraseanet_indexer_SOURCES = src/main.cpp src/_version.h src/callback_record.cpp src/connbas.cpp src/connbas_abox.cpp src/connbas_dbox.cpp src/dom.cpp src/indexer.cpp src/lownodiacritics_utf8.cpp src/phrasea_clock_t.cpp src/sbas.cpp src/thesaurus.cpp src/trace_memory.cpp src/sockets.cpp ./xNIX/syslog_xnix.cpp
|
||||
|
||||
|
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="customprops"
|
||||
>
|
||||
<UserMacro
|
||||
Name="PHVERSION"
|
||||
Value="3,7,1,0"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PHDOTVERSION"
|
||||
Value="3.7.1.0"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
|
||||
and Clark Cooper
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
|
||||
|
||||
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 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,148 @@
|
||||
Release 2.0.0 Wed Jan 11 2006
|
||||
- We no longer use the "check" library for C unit testing; we
|
||||
always use the (partial) internal implementation of the API.
|
||||
- Report XML_NS setting via XML_GetFeatureList().
|
||||
- Fixed headers for use from C++.
|
||||
- XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
|
||||
now return unsigned integers.
|
||||
- Added XML_LARGE_SIZE switch to enable 64-bit integers for
|
||||
byte indexes and line/column numbers.
|
||||
- Updated to use libtool 1.5.22 (the most recent).
|
||||
- Added support for AmigaOS.
|
||||
- Some mostly minor bug fixes. SF issues include: 1006708,
|
||||
1021776, 1023646, 1114960, 1156398, 1221160, 1271642.
|
||||
|
||||
Release 1.95.8 Fri Jul 23 2004
|
||||
- Major new feature: suspend/resume. Handlers can now request
|
||||
that a parse be suspended for later resumption or aborted
|
||||
altogether. See "Temporarily Stopping Parsing" in the
|
||||
documentation for more details.
|
||||
- Some mostly minor bug fixes, but compilation should no
|
||||
longer generate warnings on most platforms. SF issues
|
||||
include: 827319, 840173, 846309, 888329, 896188, 923913,
|
||||
928113, 961698, 985192.
|
||||
|
||||
Release 1.95.7 Mon Oct 20 2003
|
||||
- Fixed enum XML_Status issue (reported on SourceForge many
|
||||
times), so compilers that are properly picky will be happy.
|
||||
- Introduced an XMLCALL macro to control the calling
|
||||
convention used by the Expat API; this macro should be used
|
||||
to annotate prototypes and definitions of callback
|
||||
implementations in code compiled with a calling convention
|
||||
other than the default convention for the host platform.
|
||||
- Improved ability to build without the configure-generated
|
||||
expat_config.h header. This is useful for applications
|
||||
which embed Expat rather than linking in the library.
|
||||
- Fixed a variety of bugs: see SF issues 458907, 609603,
|
||||
676844, 679754, 692878, 692964, 695401, 699323, 699487,
|
||||
820946.
|
||||
- Improved hash table lookups.
|
||||
- Added more regression tests and improved documentation.
|
||||
|
||||
Release 1.95.6 Tue Jan 28 2003
|
||||
- Added XML_FreeContentModel().
|
||||
- Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
|
||||
- Fixed a variety of bugs: see SF issues 615606, 616863,
|
||||
618199, 653180, 673791.
|
||||
- Enhanced the regression test suite.
|
||||
- Man page improvements: includes SF issue 632146.
|
||||
|
||||
Release 1.95.5 Fri Sep 6 2002
|
||||
- Added XML_UseForeignDTD() for improved SAX2 support.
|
||||
- Added XML_GetFeatureList().
|
||||
- Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
|
||||
- Use an incomplete struct instead of a void* for the parser
|
||||
(may not retain).
|
||||
- Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
|
||||
- Finally fixed bug where default handler would report DTD
|
||||
events that were already handled by another handler.
|
||||
Initial patch contributed by Darryl Miles.
|
||||
- Removed unnecessary DllMain() function that caused static
|
||||
linking into a DLL to be difficult.
|
||||
- Added VC++ projects for building static libraries.
|
||||
- Reduced line-length for all source code and headers to be
|
||||
no longer than 80 characters, to help with AS/400 support.
|
||||
- Reduced memory copying during parsing (SF patch #600964).
|
||||
- Fixed a variety of bugs: see SF issues 580793, 434664,
|
||||
483514, 580503, 581069, 584041, 584183, 584832, 585537,
|
||||
596555, 596678, 598352, 598944, 599715, 600479, 600971.
|
||||
|
||||
Release 1.95.4 Fri Jul 12 2002
|
||||
- Added support for VMS, contributed by Craig Berry. See
|
||||
vms/README.vms for more information.
|
||||
- Added Mac OS (classic) support, with a makefile for MPW,
|
||||
contributed by Thomas Wegner and Daryle Walker.
|
||||
- Added Borland C++ Builder 5 / BCC 5.5 support, contributed
|
||||
by Patrick McConnell (SF patch #538032).
|
||||
- Fixed a variety of bugs: see SF issues 441449, 563184,
|
||||
564342, 566334, 566901, 569461, 570263, 575168, 579196.
|
||||
- Made skippedEntityHandler conform to SAX2 (see source comment)
|
||||
- Re-implemented WFC: Entity Declared from XML 1.0 spec and
|
||||
added a new error "entity declared in parameter entity":
|
||||
see SF bug report 569461 and SF patch 578161
|
||||
- Re-implemented section 5.1 from XML 1.0 spec:
|
||||
see SF bug report 570263 and SF patch 578161
|
||||
|
||||
Release 1.95.3 Mon Jun 3 2002
|
||||
- Added a project to the MSVC workspace to create a wchar_t
|
||||
version of the library; the DLLs are named libexpatw.dll.
|
||||
- Changed the name of the Windows DLLs from expat.dll to
|
||||
libexpat.dll; this fixes SF bug #432456.
|
||||
- Added the XML_ParserReset() API function.
|
||||
- Fixed XML_SetReturnNSTriplet() to work for element names.
|
||||
- Made the XML_UNICODE builds usable (thanks, Karl!).
|
||||
- Allow xmlwf to read from standard input.
|
||||
- Install a man page for xmlwf on Unix systems.
|
||||
- Fixed many bugs; see SF bug reports 231864, 461380, 464837,
|
||||
466885, 469226, 477667, 484419, 487840, 494749, 496505,
|
||||
547350. Other bugs which we can't test as easily may also
|
||||
have been fixed, especially in the area of build support.
|
||||
|
||||
Release 1.95.2 Fri Jul 27 2001
|
||||
- More changes to make MSVC happy with the build; add a single
|
||||
workspace to support both the library and xmlwf application.
|
||||
- Added a Windows installer for Windows users; includes
|
||||
xmlwf.exe.
|
||||
- Added compile-time constants that can be used to determine the
|
||||
Expat version
|
||||
- Removed a lot of GNU-specific dependencies to aide portability
|
||||
among the various Unix flavors.
|
||||
- Fix the UTF-8 BOM bug.
|
||||
- Cleaned up warning messages for several compilers.
|
||||
- Added the -Wall, -Wstrict-prototypes options for GCC.
|
||||
|
||||
Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
|
||||
- Changes to get expat to build under Microsoft compiler
|
||||
- Removed all aborts and instead return an UNEXPECTED_STATE error.
|
||||
- Fixed a bug where a stray '%' in an entity value would cause an
|
||||
abort.
|
||||
- Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
|
||||
finding this oversight.
|
||||
- Changed default patterns in lib/Makefile.in to fit non-GNU makes
|
||||
Thanks to robin@unrated.net for reporting and providing an
|
||||
account to test on.
|
||||
- The reference had the wrong label for XML_SetStartNamespaceDecl.
|
||||
Reported by an anonymous user.
|
||||
|
||||
Release 1.95.0 Fri Sep 29 2000
|
||||
- XML_ParserCreate_MM
|
||||
Allows you to set a memory management suite to replace the
|
||||
standard malloc,realloc, and free.
|
||||
- XML_SetReturnNSTriplet
|
||||
If you turn this feature on when namespace processing is in
|
||||
effect, then qualified, prefixed element and attribute names
|
||||
are returned as "uri|name|prefix" where '|' is whatever
|
||||
separator character is used in namespace processing.
|
||||
- Merged in features from perl-expat
|
||||
o XML_SetElementDeclHandler
|
||||
o XML_SetAttlistDeclHandler
|
||||
o XML_SetXmlDeclHandler
|
||||
o XML_SetEntityDeclHandler
|
||||
o StartDoctypeDeclHandler takes 3 additional parameters:
|
||||
sysid, pubid, has_internal_subset
|
||||
o Many paired handler setters (like XML_SetElementHandler)
|
||||
now have corresponding individual handler setters
|
||||
o XML_GetInputContext for getting the input context of
|
||||
the current parse position.
|
||||
- Added reference material
|
||||
- Packaged into a distribution that builds a sharable library
|
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,101 @@
|
||||
body {
|
||||
background-color: white;
|
||||
border: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.corner {
|
||||
width: 200px;
|
||||
height: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.banner {
|
||||
background-color: rgb(110,139,61);
|
||||
color: rgb(255,236,176);
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.banner h1 {
|
||||
font-size: 200%;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 0em 2em 1em 2em;
|
||||
}
|
||||
|
||||
.releaseno {
|
||||
background-color: rgb(110,139,61);
|
||||
color: rgb(255,236,176);
|
||||
padding-bottom: 0.3em;
|
||||
padding-top: 0.5em;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.noborder {
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
.eg {
|
||||
padding-left: 1em;
|
||||
padding-top: .5em;
|
||||
padding-bottom: .5em;
|
||||
border: solid thin;
|
||||
margin: 1em 0;
|
||||
background-color: tan;
|
||||
margin-left: 2em;
|
||||
margin-right: 10%;
|
||||
}
|
||||
|
||||
.pseudocode {
|
||||
padding-left: 1em;
|
||||
padding-top: .5em;
|
||||
padding-bottom: .5em;
|
||||
border: solid thin;
|
||||
margin: 1em 0;
|
||||
background-color: rgb(250,220,180);
|
||||
margin-left: 2em;
|
||||
margin-right: 10%;
|
||||
}
|
||||
|
||||
.handler {
|
||||
width: 100%;
|
||||
border-top-width: thin;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.handler p {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
.setter {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.signature {
|
||||
color: navy;
|
||||
}
|
||||
|
||||
.fcndec {
|
||||
width: 100%;
|
||||
border-top-width: thin;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.fcndef {
|
||||
margin-left: 2em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.cpp-symbols dt {
|
||||
font-family: monospace;
|
||||
}
|
||||
.cpp-symbols dd {
|
||||
margin-bottom: 1em;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
Overview of the Expat distribution
|
||||
|
||||
The Expat distribution creates several subdirectories on your system.
|
||||
Some of these directories contain components of interest to all Expat
|
||||
users, and some contain material of interest to developers who wish to
|
||||
use Expat in their applications. In the list below, <top> is the
|
||||
directory you specified to the installer.
|
||||
|
||||
Directory Contents
|
||||
--------------------------------------------------------------------
|
||||
<top>\ The XML well-formedness checker and some general
|
||||
information files.
|
||||
|
||||
<top>\Doc\ API documentation for developers.
|
||||
|
||||
<top>\Libs\ Pre-compiled dynamic libraries for developers.
|
||||
|
||||
<top>\StaticLibs\ Pre-compiled static libraries for developers.
|
||||
|
||||
<top>\Source\ Source code, which may interest some developers,
|
||||
including a workspace for Microsft Visual C++.
|
||||
The source code includes the parser, the well-
|
||||
formedness checker, and a couple of small sample
|
||||
applications.
|
||||
|
||||
<top>\Source\bcb5\ Project files for Borland C++ Builder 5 and BCC
|
||||
5.5.
|
||||
|
||||
|
@@ -0,0 +1,118 @@
|
||||
|
||||
Expat, Release 2.0.0
|
||||
|
||||
This is Expat, a C library for parsing XML, written by James Clark.
|
||||
Expat is a stream-oriented XML parser. This means that you register
|
||||
handlers with the parser before starting the parse. These handlers
|
||||
are called when the parser discovers the associated structures in the
|
||||
document being parsed. A start tag is an example of the kind of
|
||||
structures for which you may register handlers.
|
||||
|
||||
Windows users should use the expat_win32bin package, which includes
|
||||
both precompiled libraries and executables, and source code for
|
||||
developers.
|
||||
|
||||
Expat is free software. You may copy, distribute, and modify it under
|
||||
the terms of the License contained in the file COPYING distributed
|
||||
with this package. This license is the same as the MIT/X Consortium
|
||||
license.
|
||||
|
||||
Versions of Expat that have an odd minor version (the middle number in
|
||||
the release above), are development releases and should be considered
|
||||
as beta software. Releases with even minor version numbers are
|
||||
intended to be production grade software.
|
||||
|
||||
If you are building Expat from a check-out from the CVS repository,
|
||||
you need to run a script that generates the configure script using the
|
||||
GNU autoconf and libtool tools. To do this, you need to have
|
||||
autoconf 2.52 or newer and libtool 1.4 or newer. Run the script like
|
||||
this:
|
||||
|
||||
./buildconf.sh
|
||||
|
||||
Once this has been done, follow the same instructions as for building
|
||||
from a source distribution.
|
||||
|
||||
To build Expat from a source distribution, you first run the
|
||||
configuration shell script in the top level distribution directory:
|
||||
|
||||
./configure
|
||||
|
||||
There are many options which you may provide to configure (which you
|
||||
can discover by running configure with the --help option). But the
|
||||
one of most interest is the one that sets the installation directory.
|
||||
By default, the configure script will set things up to install
|
||||
libexpat into /usr/local/lib, expat.h into /usr/local/include, and
|
||||
xmlwf into /usr/local/bin. If, for example, you'd prefer to install
|
||||
into /home/me/mystuff/lib, /home/me/mystuff/include, and
|
||||
/home/me/mystuff/bin, you can tell configure about that with:
|
||||
|
||||
./configure --prefix=/home/me/mystuff
|
||||
|
||||
Another interesting option is to enable 64-bit integer support for
|
||||
line and column numbers and the over-all byte index:
|
||||
|
||||
./configure CPPFLAGS=-DXML_LARGE_SIZE
|
||||
|
||||
After running the configure script, the "make" command will build
|
||||
things and "make install" will install things into their proper
|
||||
location. Have a look at the "Makefile" to learn about additional
|
||||
"make" options. Note that you need to have write permission into
|
||||
the directories into which things will be installed.
|
||||
|
||||
If you are interested in building Expat to provide document
|
||||
information in UTF-16 rather than the default UTF-8, follow these
|
||||
instructions:
|
||||
|
||||
1. For UTF-16 output as unsigned short (and version/error
|
||||
strings as char), run:
|
||||
|
||||
./configure CPPFLAGS=-DXML_UNICODE
|
||||
|
||||
For UTF-16 output as wchar_t (incl. version/error strings),
|
||||
run:
|
||||
|
||||
./configure CFLAGS="-g -O2 -fshort-wchar" \
|
||||
CPPFLAGS=-DXML_UNICODE_WCHAR_T
|
||||
|
||||
2. Edit the MakeFile, changing:
|
||||
|
||||
LIBRARY = libexpat.la
|
||||
|
||||
to:
|
||||
|
||||
LIBRARY = libexpatw.la
|
||||
|
||||
(Note the additional "w" in the library name.)
|
||||
|
||||
3. Run "make buildlib" (which builds the library only).
|
||||
|
||||
4. Run "make installlib" (which installs the library only).
|
||||
|
||||
Note for Solaris users: The "ar" command is usually located in
|
||||
"/usr/ccs/bin", which is not in the default PATH. You will need to
|
||||
add this to your path for the "make" command, and probably also switch
|
||||
to GNU make (the "make" found in /usr/ccs/bin does not seem to work
|
||||
properly -- appearantly it does not understand .PHONY directives). If
|
||||
you're using ksh or bash, use this command to build:
|
||||
|
||||
PATH=/usr/ccs/bin:$PATH make
|
||||
|
||||
When using Expat with a project using autoconf for configuration, you
|
||||
can use the probing macro in conftools/expat.m4 to determine how to
|
||||
include Expat. See the comments at the top of that file for more
|
||||
information.
|
||||
|
||||
A reference manual is available in the file doc/reference.html in this
|
||||
distribution.
|
||||
|
||||
The homepage for this project is http://www.libexpat.org/. There
|
||||
are links there to connect you to the bug reports page. If you need
|
||||
to report a bug when you don't have access to a browser, you may also
|
||||
send a bug report by email to expat-bugs@mail.libexpat.org.
|
||||
|
||||
Discussion related to the direction of future expat development takes
|
||||
place on expat-discuss@mail.libexpat.org. Archives of this list and
|
||||
other Expat-related lists may be found at:
|
||||
|
||||
http://mail.libexpat.org/mailman/listinfo/
|
@@ -0,0 +1,87 @@
|
||||
|
||||
Using a Borland compiler product
|
||||
|
||||
The files in this directory support using both the free Borland command-line
|
||||
compiler tools and the Borland C++ Builder IDE. The project files have been
|
||||
tested with both versions 5 and 6 of the C++ Builder product.
|
||||
|
||||
Using the free BCC32 command line compiler
|
||||
|
||||
After downloading and installing the free C++ Builder commandline version,
|
||||
perform the following steps (assuming it was installed under C:\Borland\BCC55):
|
||||
|
||||
1) Add "C:\Borland\BCC55\BIN" to your path
|
||||
2) Set the environment variable BCB to "C:\Borland\BCC55".
|
||||
3) edit makefile.mak: enable or comment out the appropriate commands under
|
||||
clean & distclean, depending on whether your OS can use deltree /y or
|
||||
del /s/f/q.
|
||||
|
||||
After that, you should simply cd to the bcb5 directory in your Expat directory
|
||||
tree (same structure as CVS) and run "make all" or just "make".
|
||||
|
||||
Naming
|
||||
|
||||
The libraries have the base name "libexpat" followed optionally by an "s"
|
||||
(static) or a "w" (unicode version), then an underscore and optionally
|
||||
"mt" (multi-threaded) and "d" (dynamic RTL).
|
||||
|
||||
To change the name of the library a project file produces, edit the project
|
||||
option source (see step 1 under Unicode below) and change the name contained in
|
||||
the PROJECT tag. In a make file, change the value assigned to the PROJECT
|
||||
variable. Also, the LIBRARY entry in the .def file has to be changed to
|
||||
correspond to the new executable name.
|
||||
|
||||
|
||||
Unicode Considerations
|
||||
|
||||
There are no facilities in the BCB 5 GUI to create a unicode-enabled
|
||||
application. Fortunately, it is not hard to do by hand.
|
||||
|
||||
1. The startup .obj system file must be changed to the unicode version.
|
||||
Go to Project|Edit Option Source, and scroll down to the ALLOBJ tag. Change
|
||||
c0x32.obj to c0x32w.obj. Editing this file can be quirky, but usually the
|
||||
following kludge will make the change stick. Close and save the file
|
||||
(CTRL-F4) then open the options dialog (CTRL-Shift-F11), then click OK on
|
||||
the dialog immediately without changing anything in it. If this doesn't work,
|
||||
you will have to close the project completely and edit the .bpr file by hand.
|
||||
|
||||
If you are using a make file, just change the startup .obj file assigned
|
||||
to the ALLOBJ variable.
|
||||
|
||||
2. Add the macro define XML_UNICODE_WCHAR_T. In the GUI that goes in the options
|
||||
dialog, Directories/Conditionals tab, in the Conditional define box. In a
|
||||
make file, put it in the USERDEFINES variable.
|
||||
|
||||
3. Of course, your code has to be written for unicode. As a start, the "main"
|
||||
function is called "wmain". The tchar macros are an interesting way to
|
||||
write code that can easily switch between unicode and utf-8. If these macros
|
||||
are used, then simply adding the conditional define _UNICODE as well as
|
||||
XML_UNICODE_WCHAR_T will bring in the unicode versions of the tchar macros.
|
||||
Otherwise the utf-8 versions are used. xmlwf uses its own versions of the
|
||||
tchar macros which are switched on and off by the XML_UNICODE macro, which
|
||||
itself is set by the XML_UNICODE_WCHAR_T define.
|
||||
|
||||
Threading
|
||||
|
||||
The libexpat libraries are all built to link with the multi-threaded dynamic RTL's.
|
||||
That means they require CC32xxMT.DLL present on the installation target.
|
||||
To create single-threaded libs, do the following:
|
||||
|
||||
1. The compiler option for multi-threading must be turned off. Following the
|
||||
instructions above to edit the option source, remove the -tWM option from
|
||||
the CFLAG1 tag. In a make file, remove it from the CFLAG1 variable.
|
||||
|
||||
2. The single threaded RTL must be called. change the RTL in the ALLLIB tag or
|
||||
variable (GUI or makefile repectively) to the version without the "mt" in the
|
||||
name. For example, change cw32mti.lib to cw32i.lib.
|
||||
|
||||
Static RTL's
|
||||
|
||||
To build the libs with static RTL's do the following,
|
||||
|
||||
1. For the static expatlibs, in the Tlib tab on the options dialog, uncheck the
|
||||
"Use dynamic RTL" box. For the dynamic expatlibs, in the Linker tab on the
|
||||
options dialog, uncheck "Use dynamic RTL". If you are using a make file,
|
||||
remove the _RTLDLL assignment to the SYSDEFINES variable, and change the RTL
|
||||
to the version without an "i" in the ALLLIB variable. For example,
|
||||
cw32mti.lib would become cw32mt.lib.
|
@@ -0,0 +1,49 @@
|
||||
#------------------------------------------------------------------------------
|
||||
VERSION = BWS.01
|
||||
#------------------------------------------------------------------------------
|
||||
!ifndef ROOT
|
||||
ROOT = $(MAKEDIR)\..
|
||||
!endif
|
||||
#------------------------------------------------------------------------------
|
||||
MAKE = $(ROOT)\bin\make.exe -$(MAKEFLAGS) -f$**
|
||||
DCC = $(ROOT)\bin\dcc32.exe $**
|
||||
BRCC = $(ROOT)\bin\brcc32.exe $**
|
||||
#------------------------------------------------------------------------------
|
||||
PROJECTS = setup libexpat_mtd.dll libexpats_mtd.lib libexpatw_mtd.dll \
|
||||
libexpatws_mtd.lib elements.exe outline.exe xmlwf.exe
|
||||
#------------------------------------------------------------------------------
|
||||
default: $(PROJECTS)
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
libexpat_mtd.dll: expat.bpr
|
||||
$(ROOT)\bin\bpr2mak $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
libexpats_mtd.lib: expat_static.bpr
|
||||
$(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
libexpatw_mtd.dll: expatw.bpr
|
||||
$(ROOT)\bin\bpr2mak $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
libexpatws_mtd.lib: expatw_static.bpr
|
||||
$(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
elements.exe: elements.bpr
|
||||
$(ROOT)\bin\bpr2mak $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
outline.exe: outline.bpr
|
||||
$(ROOT)\bin\bpr2mak $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
xmlwf.exe: xmlwf.bpr
|
||||
$(ROOT)\bin\bpr2mak $**
|
||||
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
|
||||
|
||||
setup: setup.bat
|
||||
call $**
|
||||
|
||||
|
@@ -0,0 +1,4 @@
|
||||
USEUNIT("..\examples\elements.c");
|
||||
USELIB("Release\libexpats_mtd.lib");
|
||||
//---------------------------------------------------------------------------
|
||||
main
|
@@ -0,0 +1,149 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<!-- C++Builder XML Project -->
|
||||
<PROJECT>
|
||||
<MACROS>
|
||||
<VERSION value="BCB.05.03"/>
|
||||
<PROJECT value="Release\elements.exe"/>
|
||||
<OBJFILES value="Release\obj\examples\elements.obj"/>
|
||||
<RESFILES value=""/>
|
||||
<IDLFILES value=""/>
|
||||
<IDLGENFILES value=""/>
|
||||
<DEFFILE value=""/>
|
||||
<RESDEPEN value="$(RESFILES)"/>
|
||||
<LIBFILES value="Release\libexpats_mtd.lib"/>
|
||||
<LIBRARIES value=""/>
|
||||
<SPARELIBS value=""/>
|
||||
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
|
||||
ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
|
||||
VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
|
||||
dclocx50.bpi bcb2kaxserver50.bpi dclusr50.bpi"/>
|
||||
<PATHCPP value=".;..\examples"/>
|
||||
<PATHPAS value=".;"/>
|
||||
<PATHRC value=".;"/>
|
||||
<PATHASM value=".;"/>
|
||||
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
|
||||
<RELEASELIBPATH value="$(BCB)\lib\release"/>
|
||||
<LINKER value="ilink32"/>
|
||||
<USERDEFINES value="WIN32;NDEBUG;_CONSOLE;XML_STATIC"/>
|
||||
<SYSDEFINES value="_NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL"/>
|
||||
<MAINSOURCE value="elements.bpf"/>
|
||||
<INCLUDEPATH value="..\examples;$(BCB)\include"/>
|
||||
<LIBPATH value="..\examples;$(BCB)\lib;$(RELEASELIBPATH)"/>
|
||||
<WARNINGS value="-w-par -w-8027 -w-8026"/>
|
||||
</MACROS>
|
||||
<OPTIONS>
|
||||
<IDLCFLAGS value="-I$(BCB)\include"/>
|
||||
<CFLAG1 value="-O2 -X- -a8 -b -k- -vi -q -tWM -I..\lib -c"/>
|
||||
<PFLAGS value="-N2Release\obj\examples -N0Release\obj\examples -$Y- -$L- -$D-"/>
|
||||
<RFLAGS value="/l 0x409 /d "NDEBUG" /i$(BCB)\include"/>
|
||||
<AFLAGS value="/mx /w2 /zn"/>
|
||||
<LFLAGS value="-IRelease\obj\examples -D"" -ap -Tpe -x -Gn -q -L..\LIB\RELEASE_STATIC"/>
|
||||
</OPTIONS>
|
||||
<LINKER>
|
||||
<ALLOBJ value="c0x32.obj $(OBJFILES)"/>
|
||||
<ALLRES value="$(RESFILES)"/>
|
||||
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
|
||||
</LINKER>
|
||||
<IDEOPTIONS>
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=1033
|
||||
CodePage=1252
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[HistoryLists\hlIncludePath]
|
||||
Count=4
|
||||
Item0=..\examples;$(BCB)\include
|
||||
Item1=$(BCB)\include
|
||||
Item2=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl
|
||||
Item3=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl;
|
||||
|
||||
[HistoryLists\hlLibraryPath]
|
||||
Count=8
|
||||
Item0=..\examples;$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item1=..\examples;$(BCB)\lib;..\examples\$(RELEASELIBPATH)
|
||||
Item2=$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item3=$(BCB)\lib;$(RELEASELIBPATH);..\lib\Release-w_static
|
||||
Item4=$(BCB)\lib;$(RELEASELIBPATH);..\lib\Release_static
|
||||
Item5=$(BCB)\lib;$(RELEASELIBPATH);C:\src\expat\lib\Release_static
|
||||
Item6=$(BCB)\lib;$(RELEASELIBPATH);$(BCB)\lib\psdk
|
||||
Item7=$(BCB)\lib;$(RELEASELIBPATH);;$(BCB)\lib\psdk;
|
||||
|
||||
[HistoryLists\hlDebugSourcePath]
|
||||
Count=1
|
||||
Item0=$(BCB)\source\vcl
|
||||
|
||||
[HistoryLists\hlConditionals]
|
||||
Count=17
|
||||
Item0=WIN32;NDEBUG;_CONSOLE;XML_STATIC
|
||||
Item1=WIN32;NDEBUG;_CONSOLE;_DEBUG;XML_STATIC
|
||||
Item2=WIN32;NDEBUG;_CONSOLE;_DEBUG;XML_UNICODE_WCHAR_T;_UNICODE;XML_STATIC
|
||||
Item3=WIN32;NDEBUG;_CONSOLE;_DEBUG;XML_UNICODE_WCHAR_T;_UNICODE
|
||||
Item4=WIN32;NDEBUG;_CONSOLE;_DEBUG
|
||||
Item5=WIN32;NDEBUG;_CONSOLE;XML_STATIC;_DEBUG
|
||||
Item6=WIN32;NDEBUG;_CONSOLE;XML_STATIC;_DEBUG;_UNICODE
|
||||
Item7=WIN32;NDEBUG;_CONSOLE;XML_STATIC;_DEBUG;XML_UNICODE_WCHAR_T
|
||||
Item8=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG;XML_UNICODE_WCHAR_T
|
||||
Item9=WIN32;NDEBUG;_CONSOLE;_UNICODE;XML_STATIC;_DEBUG;XML_UNICODE_WCHAR_T
|
||||
Item10=WIN32;NDEBUG;_CONSOLE;_UNICODE;XML_STATIC;_DEBUG;XML_UNICODE
|
||||
Item11=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG;XML_UNICODE_WCHAR_T;__WCHAR_T
|
||||
Item12=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG;XML_UNICODE_WCHAR_T;_UNICODE
|
||||
Item13=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG;XML_UNICODE;_UNICODE
|
||||
Item14=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG;XML_UNICODE
|
||||
Item15=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC;_DEBUG
|
||||
Item16=WIN32;NDEBUG;_CONSOLE;_MBCS;XML_STATIC
|
||||
|
||||
[HistoryLists\hlIntOutputDir]
|
||||
Count=5
|
||||
Item0=Release\obj\examples
|
||||
Item1=Release\obj\elements
|
||||
Item2=Release\obj\mts
|
||||
Item3=..\examples\Release
|
||||
Item4=Release
|
||||
|
||||
[HistoryLists\hlFinalOutputDir]
|
||||
Count=1
|
||||
Item0=Release\
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=
|
||||
|
||||
[Parameters]
|
||||
RunParams=
|
||||
HostApplication=
|
||||
RemoteHost=
|
||||
RemotePath=
|
||||
RemoteDebug=0
|
||||
|
||||
[Compiler]
|
||||
ShowInfoMsgs=0
|
||||
LinkDebugVcl=0
|
||||
LinkCGLIB=0
|
||||
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=
|
||||
</IDEOPTIONS>
|
||||
</PROJECT>
|
@@ -0,0 +1,186 @@
|
||||
# ---------------------------------------------------------------------------
|
||||
!if !$d(BCB)
|
||||
BCB = $(MAKEDIR)\..
|
||||
!endif
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# IDE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# The following section of the project makefile is managed by the BCB IDE.
|
||||
# It is recommended to use the IDE to change any of the values in this
|
||||
# section.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
VERSION = BCB.05.03
|
||||
# ---------------------------------------------------------------------------
|
||||
PROJECT = Release\elements.exe
|
||||
OBJFILES = Release\obj\examples\elements.obj
|
||||
RESFILES =
|
||||
MAINSOURCE = elements.bpf
|
||||
RESDEPEN = $(RESFILES)
|
||||
LIBFILES = Release\libexpats_mtd.lib
|
||||
IDLFILES =
|
||||
IDLGENFILES =
|
||||
LIBRARIES =
|
||||
PACKAGES = VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi \
|
||||
ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi \
|
||||
VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi \
|
||||
dclocx50.bpi bcb2kaxserver50.bpi dclusr50.bpi
|
||||
SPARELIBS =
|
||||
DEFFILE =
|
||||
# ---------------------------------------------------------------------------
|
||||
PATHCPP = .;..\examples
|
||||
PATHASM = .;
|
||||
PATHPAS = .;
|
||||
PATHRC = .;
|
||||
DEBUGLIBPATH = $(BCB)\lib\debug
|
||||
RELEASELIBPATH = $(BCB)\lib\release
|
||||
USERDEFINES = WIN32;NDEBUG;_CONSOLE;XML_STATIC
|
||||
SYSDEFINES = _NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL
|
||||
INCLUDEPATH = ..\examples;$(BCB)\include
|
||||
LIBPATH = ..\examples;$(BCB)\lib;$(RELEASELIBPATH)
|
||||
WARNINGS= -w-par -w-8027 -w-8026
|
||||
# ---------------------------------------------------------------------------
|
||||
CFLAG1 = -O2 -X- -a8 -b -k- -vi -q -I..\lib -c
|
||||
IDLCFLAGS = -I$(BCB)\include
|
||||
PFLAGS = -N2Release\obj\examples -N0Release\obj\examples -$Y- -$L- -$D-
|
||||
RFLAGS = /l 0x409 /d "NDEBUG" /i$(BCB)\include
|
||||
AFLAGS = /mx /w2 /zn
|
||||
LFLAGS = -IRelease\obj\examples -D"" -ap -Tpe -x -Gn -q -L..\LIB\RELEASE_STATIC
|
||||
# ---------------------------------------------------------------------------
|
||||
ALLOBJ = c0x32.obj $(OBJFILES)
|
||||
ALLRES = $(RESFILES)
|
||||
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib
|
||||
# ---------------------------------------------------------------------------
|
||||
!ifdef IDEOPTIONS
|
||||
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=$(BCB)\source\vcl
|
||||
|
||||
!endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# MAKE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# This section of the project file is not used by the BCB IDE. It is for
|
||||
# the benefit of building from the command-line using the MAKE utility.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
.autodepend
|
||||
# ---------------------------------------------------------------------------
|
||||
!if "$(USERDEFINES)" != ""
|
||||
AUSERDEFINES = -d$(USERDEFINES:;= -d)
|
||||
!else
|
||||
AUSERDEFINES =
|
||||
!endif
|
||||
|
||||
!if !$d(BCC32)
|
||||
BCC32 = bcc32
|
||||
!endif
|
||||
|
||||
!if !$d(CPP32)
|
||||
CPP32 = cpp32
|
||||
!endif
|
||||
|
||||
!if !$d(DCC32)
|
||||
DCC32 = dcc32
|
||||
!endif
|
||||
|
||||
!if !$d(TASM32)
|
||||
TASM32 = tasm32
|
||||
!endif
|
||||
|
||||
!if !$d(LINKER)
|
||||
LINKER = ilink32
|
||||
!endif
|
||||
|
||||
!if !$d(BRCC32)
|
||||
BRCC32 = brcc32
|
||||
!endif
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
!if $d(PATHCPP)
|
||||
.PATH.CPP = $(PATHCPP)
|
||||
.PATH.C = $(PATHCPP)
|
||||
!endif
|
||||
|
||||
!if $d(PATHPAS)
|
||||
.PATH.PAS = $(PATHPAS)
|
||||
!endif
|
||||
|
||||
!if $d(PATHASM)
|
||||
.PATH.ASM = $(PATHASM)
|
||||
!endif
|
||||
|
||||
!if $d(PATHRC)
|
||||
.PATH.RC = $(PATHRC)
|
||||
!endif
|
||||
# ---------------------------------------------------------------------------
|
||||
$(PROJECT): $(IDLGENFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
|
||||
$(BCB)\BIN\$(LINKER) @&&!
|
||||
$(LFLAGS) -L$(LIBPATH) +
|
||||
$(ALLOBJ), +
|
||||
$(PROJECT),, +
|
||||
$(ALLLIB), +
|
||||
$(DEFFILE), +
|
||||
$(ALLRES)
|
||||
!
|
||||
# ---------------------------------------------------------------------------
|
||||
.pas.hpp:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.pas.obj:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.cpp.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.cpp.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.asm.obj:
|
||||
$(BCB)\BIN\$(TASM32) $(AFLAGS) -i$(INCLUDEPATH:;= -i) $(AUSERDEFINES) -d$(SYSDEFINES:;= -d) $<, $@
|
||||
|
||||
.rc.res:
|
||||
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,6 @@
|
||||
USEUNIT("..\lib\xmlparse.c");
|
||||
USEUNIT("..\lib\xmlrole.c");
|
||||
USEUNIT("..\lib\xmltok.c");
|
||||
USEDEF("libexpat_mtd.def");
|
||||
//---------------------------------------------------------------------------
|
||||
#define DllEntryPoint
|
@@ -0,0 +1,140 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<!-- C++Builder XML Project -->
|
||||
<PROJECT>
|
||||
<MACROS>
|
||||
<VERSION value="BCB.05.03"/>
|
||||
<PROJECT value="Release\libexpat_mtd.dll"/>
|
||||
<OBJFILES value="Release\obj\libexpat\xmlparse.obj Release\obj\libexpat\xmlrole.obj
|
||||
Release\obj\libexpat\xmltok.obj"/>
|
||||
<RESFILES value=""/>
|
||||
<IDLFILES value=""/>
|
||||
<IDLGENFILES value=""/>
|
||||
<DEFFILE value="libexpat_mtd.def"/>
|
||||
<RESDEPEN value="$(RESFILES)"/>
|
||||
<LIBFILES value=""/>
|
||||
<LIBRARIES value=""/>
|
||||
<SPARELIBS value=""/>
|
||||
<PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi
|
||||
ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi
|
||||
VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi
|
||||
dclocx50.bpi bcb2kaxserver50.bpi dclusr50.bpi"/>
|
||||
<PATHCPP value=".;..\lib"/>
|
||||
<PATHPAS value=".;"/>
|
||||
<PATHRC value=".;"/>
|
||||
<PATHASM value=".;"/>
|
||||
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
|
||||
<RELEASELIBPATH value="$(BCB)\lib\release"/>
|
||||
<LINKER value="ilink32"/>
|
||||
<USERDEFINES value="_WINDOWS;WIN32;NDEBUG;_USRDLL;COMPILED_FROM_DSP;EXPAT_EXPORTS"/>
|
||||
<SYSDEFINES value="_NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL"/>
|
||||
<MAINSOURCE value="expat.bpf"/>
|
||||
<INCLUDEPATH value="..\lib;$(BCB)\include"/>
|
||||
<LIBPATH value="..\lib;$(BCB)\lib;$(RELEASELIBPATH)"/>
|
||||
<WARNINGS value="-w-rch -w-par -w-8027 -w-8026 -w-ccc"/>
|
||||
</MACROS>
|
||||
<OPTIONS>
|
||||
<IDLCFLAGS value="-I$(BCB)\include"/>
|
||||
<CFLAG1 value="-WD -O2 -X- -a8 -b -k- -vi -q -tWM -c -tWD"/>
|
||||
<PFLAGS value="-N2Release\obj\libexpat -N0Release\obj\libexpat -$Y- -$L- -$D-"/>
|
||||
<RFLAGS value="/l 0x409 /d "NDEBUG" /i$(BCB)\include"/>
|
||||
<AFLAGS value="/mx /w2 /zn"/>
|
||||
<LFLAGS value="-IRelease\obj\libexpat -D"" -aa -Tpd -x -Gn -Gi -q"/>
|
||||
</OPTIONS>
|
||||
<LINKER>
|
||||
<ALLOBJ value="c0d32.obj $(OBJFILES)"/>
|
||||
<ALLRES value="$(RESFILES)"/>
|
||||
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib"/>
|
||||
</LINKER>
|
||||
<IDEOPTIONS>
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=1033
|
||||
CodePage=1252
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[HistoryLists\hlIncludePath]
|
||||
Count=4
|
||||
Item0=..\lib;$(BCB)\include
|
||||
Item1=$(BCB)\include
|
||||
Item2=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl
|
||||
Item3=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl;
|
||||
|
||||
[HistoryLists\hlLibraryPath]
|
||||
Count=5
|
||||
Item0=..\lib;$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item1=..\lib;$(BCB)\lib;..\lib\$(RELEASELIBPATH)
|
||||
Item2=$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item3=$(BCB)\lib;$(RELEASELIBPATH);$(BCB)\lib\psdk
|
||||
Item4=$(BCB)\lib;$(RELEASELIBPATH);;$(BCB)\lib\psdk;
|
||||
|
||||
[HistoryLists\hlDebugSourcePath]
|
||||
Count=1
|
||||
Item0=$(BCB)\source\vcl
|
||||
|
||||
[HistoryLists\hlConditionals]
|
||||
Count=8
|
||||
Item0=_WINDOWS;WIN32;NDEBUG;_USRDLL;COMPILED_FROM_DSP;EXPAT_EXPORTS
|
||||
Item1=_WINDOWS;WIN32;NDEBUG;_DEBUG;_USRDLL;COMPILED_FROM_DSP;EXPAT_EXPORTS
|
||||
Item2=WIN32;_WINDOWS;NDEBUG;_DEBUG;_USRDLL;COMPILED_FROM_DSP;EXPAT_EXPORTS
|
||||
Item3=WIN32;_WINDOWS;NDEBUG;_DEBUG;_USRDLL;EXPAT_EXPORTS;COMPILED_FROM_DSP
|
||||
Item4=NDEBUG;WIN32;_WINDOWS;_USRDLL;_DEBUG;EXPAT_EXPORTS;COMPILED_FROM_DSP
|
||||
Item5=NDEBUG;WIN32;_WINDOWS;_USRDLL;EXPAT_EXPORTS;COMPILED_FROM_DSP;_DEBUG
|
||||
Item6=NDEBUG;WIN32;_WINDOWS;_MBCS;_USRDLL;EXPAT_EXPORTS;COMPILED_FROM_DSP;_DEBUG
|
||||
Item7=NDEBUG;WIN32;_WINDOWS;_MBCS;_USRDLL;EXPAT_EXPORTS;COMPILED_FROM_DSP
|
||||
|
||||
[HistoryLists\hlIntOutputDir]
|
||||
Count=7
|
||||
Item0=Release\obj\libexpat
|
||||
Item1=Release\obj\libexpat_static
|
||||
Item2=Release\obj\mtd
|
||||
Item3=Release\obj\mt
|
||||
Item4=Release\obj
|
||||
Item5=Release
|
||||
Item6=..\lib\Release
|
||||
|
||||
[HistoryLists\hlFinalOutputDir]
|
||||
Count=1
|
||||
Item0=Release\
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=
|
||||
|
||||
[Parameters]
|
||||
RunParams=
|
||||
HostApplication=
|
||||
RemoteHost=
|
||||
RemotePath=
|
||||
RemoteDebug=0
|
||||
|
||||
[Compiler]
|
||||
ShowInfoMsgs=0
|
||||
LinkDebugVcl=0
|
||||
LinkCGLIB=0
|
||||
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=
|
||||
</IDEOPTIONS>
|
||||
</PROJECT>
|
@@ -0,0 +1,187 @@
|
||||
# ---------------------------------------------------------------------------
|
||||
!if !$d(BCB)
|
||||
BCB = $(MAKEDIR)\..
|
||||
!endif
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# IDE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# The following section of the project makefile is managed by the BCB IDE.
|
||||
# It is recommended to use the IDE to change any of the values in this
|
||||
# section.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
VERSION = BCB.05.03
|
||||
# ---------------------------------------------------------------------------
|
||||
PROJECT = Release\libexpat_mtd.dll
|
||||
OBJFILES = Release\obj\libexpat\xmlparse.obj Release\obj\libexpat\xmlrole.obj \
|
||||
Release\obj\libexpat\xmltok.obj
|
||||
RESFILES =
|
||||
MAINSOURCE = expat.bpf
|
||||
RESDEPEN = $(RESFILES)
|
||||
LIBFILES =
|
||||
IDLFILES =
|
||||
IDLGENFILES =
|
||||
LIBRARIES =
|
||||
PACKAGES = VCL50.bpi VCLX50.bpi bcbsmp50.bpi QRPT50.bpi VCLDB50.bpi VCLBDE50.bpi \
|
||||
ibsmp50.bpi VCLDBX50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi TEEQR50.bpi \
|
||||
VCLIB50.bpi bcbie50.bpi VCLIE50.bpi INETDB50.bpi INET50.bpi NMFAST50.bpi \
|
||||
dclocx50.bpi bcb2kaxserver50.bpi dclusr50.bpi
|
||||
SPARELIBS =
|
||||
DEFFILE = libexpat_mtd.def
|
||||
# ---------------------------------------------------------------------------
|
||||
PATHCPP = .;..\lib
|
||||
PATHASM = .;
|
||||
PATHPAS = .;
|
||||
PATHRC = .;
|
||||
DEBUGLIBPATH = $(BCB)\lib\debug
|
||||
RELEASELIBPATH = $(BCB)\lib\release
|
||||
USERDEFINES = _WINDOWS;WIN32;NDEBUG;_USRDLL;COMPILED_FROM_DSP
|
||||
SYSDEFINES = _NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL
|
||||
INCLUDEPATH = ..\lib;$(BCB)\include
|
||||
LIBPATH = ..\lib;$(BCB)\lib;$(RELEASELIBPATH)
|
||||
WARNINGS= -w-rch -w-par -w-8027 -w-8026 -w-ccc
|
||||
# ---------------------------------------------------------------------------
|
||||
CFLAG1 = -WD -O2 -X- -a8 -b -k- -vi -q -tWM -c -tWD
|
||||
IDLCFLAGS = -I$(BCB)\include
|
||||
PFLAGS = -N2Release\obj\libexpat -N0Release\obj\libexpat -$Y- -$L- -$D-
|
||||
RFLAGS = /l 0x409 /d "NDEBUG" /i$(BCB)\include
|
||||
AFLAGS = /mx /w2 /zn
|
||||
LFLAGS = -IRelease\obj\libexpat -D"" -aa -Tpd -x -Gn -Gi -q
|
||||
# ---------------------------------------------------------------------------
|
||||
ALLOBJ = c0d32.obj $(OBJFILES)
|
||||
ALLRES = $(RESFILES)
|
||||
ALLLIB = $(LIBFILES) $(LIBRARIES) import32.lib cw32mti.lib
|
||||
# ---------------------------------------------------------------------------
|
||||
!ifdef IDEOPTIONS
|
||||
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=$(BCB)\source\vcl
|
||||
|
||||
!endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# MAKE SECTION
|
||||
# ---------------------------------------------------------------------------
|
||||
# This section of the project file is not used by the BCB IDE. It is for
|
||||
# the benefit of building from the command-line using the MAKE utility.
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
.autodepend
|
||||
# ---------------------------------------------------------------------------
|
||||
!if "$(USERDEFINES)" != ""
|
||||
AUSERDEFINES = -d$(USERDEFINES:;= -d)
|
||||
!else
|
||||
AUSERDEFINES =
|
||||
!endif
|
||||
|
||||
!if !$d(BCC32)
|
||||
BCC32 = bcc32
|
||||
!endif
|
||||
|
||||
!if !$d(CPP32)
|
||||
CPP32 = cpp32
|
||||
!endif
|
||||
|
||||
!if !$d(DCC32)
|
||||
DCC32 = dcc32
|
||||
!endif
|
||||
|
||||
!if !$d(TASM32)
|
||||
TASM32 = tasm32
|
||||
!endif
|
||||
|
||||
!if !$d(LINKER)
|
||||
LINKER = ilink32
|
||||
!endif
|
||||
|
||||
!if !$d(BRCC32)
|
||||
BRCC32 = brcc32
|
||||
!endif
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
!if $d(PATHCPP)
|
||||
.PATH.CPP = $(PATHCPP)
|
||||
.PATH.C = $(PATHCPP)
|
||||
!endif
|
||||
|
||||
!if $d(PATHPAS)
|
||||
.PATH.PAS = $(PATHPAS)
|
||||
!endif
|
||||
|
||||
!if $d(PATHASM)
|
||||
.PATH.ASM = $(PATHASM)
|
||||
!endif
|
||||
|
||||
!if $d(PATHRC)
|
||||
.PATH.RC = $(PATHRC)
|
||||
!endif
|
||||
# ---------------------------------------------------------------------------
|
||||
$(PROJECT): $(IDLGENFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
|
||||
$(BCB)\BIN\$(LINKER) @&&!
|
||||
$(LFLAGS) -L$(LIBPATH) +
|
||||
$(ALLOBJ), +
|
||||
$(PROJECT),, +
|
||||
$(ALLLIB), +
|
||||
$(DEFFILE), +
|
||||
$(ALLRES)
|
||||
!
|
||||
# ---------------------------------------------------------------------------
|
||||
.pas.hpp:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.pas.obj:
|
||||
$(BCB)\BIN\$(DCC32) $(PFLAGS) -U$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -O$(INCLUDEPATH) --BCB {$< }
|
||||
|
||||
.cpp.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.obj:
|
||||
$(BCB)\BIN\$(BCC32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
|
||||
|
||||
.c.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.cpp.i:
|
||||
$(BCB)\BIN\$(CPP32) $(CFLAG1) $(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n. {$< }
|
||||
|
||||
.asm.obj:
|
||||
$(BCB)\BIN\$(TASM32) $(AFLAGS) -i$(INCLUDEPATH:;= -i) $(AUSERDEFINES) -d$(SYSDEFINES:;= -d) $<, $@
|
||||
|
||||
.rc.res:
|
||||
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
@@ -0,0 +1,5 @@
|
||||
USEUNIT("..\lib\xmlparse.c");
|
||||
USEUNIT("..\lib\xmlrole.c");
|
||||
USEUNIT("..\lib\xmltok.c");
|
||||
//---------------------------------------------------------------------------
|
||||
#define Library
|
@@ -0,0 +1,143 @@
|
||||
<?xml version='1.0' encoding='utf-8' ?>
|
||||
<!-- C++Builder XML Project -->
|
||||
<PROJECT>
|
||||
<MACROS>
|
||||
<VERSION value="BCB.05.03"/>
|
||||
<PROJECT value="Release\libexpats_mtd.lib"/>
|
||||
<OBJFILES value="Release\obj\libexpat_static\xmlparse.obj
|
||||
Release\obj\libexpat_static\xmlrole.obj
|
||||
Release\obj\libexpat_static\xmltok.obj"/>
|
||||
<RESFILES value=""/>
|
||||
<IDLFILES value=""/>
|
||||
<IDLGENFILES value=""/>
|
||||
<DEFFILE value=""/>
|
||||
<RESDEPEN value="$(RESFILES)"/>
|
||||
<LIBFILES value=""/>
|
||||
<LIBRARIES value=""/>
|
||||
<SPARELIBS value=""/>
|
||||
<PACKAGES value=""/>
|
||||
<PATHCPP value=".;..\lib"/>
|
||||
<PATHPAS value=".;"/>
|
||||
<PATHRC value=".;"/>
|
||||
<PATHASM value=".;"/>
|
||||
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
|
||||
<RELEASELIBPATH value="$(BCB)\lib\release"/>
|
||||
<LINKER value="TLib"/>
|
||||
<USERDEFINES value="_WINDOWS;WIN32;NDEBUG;_LIB;COMPILED_FROM_DSP;XML_STATIC"/>
|
||||
<SYSDEFINES value="_NO_VCL;_ASSERTE;NO_STRICT;_RTLDLL"/>
|
||||
<MAINSOURCE value="expat_static.bpf"/>
|
||||
<INCLUDEPATH value="..\lib;$(BCB)\include"/>
|
||||
<LIBPATH value="..\lib;$(BCB)\lib;$(RELEASELIBPATH)"/>
|
||||
<WARNINGS value="-w-rch -w-par -w-8027 -w-8026 -w-ccc"/>
|
||||
<LISTFILE value=""/>
|
||||
</MACROS>
|
||||
<OPTIONS>
|
||||
<IDLCFLAGS value="-I$(BCB)\include"/>
|
||||
<CFLAG1 value="-O2 -X- -a8 -b -k- -vi -q -tWM -c"/>
|
||||
<PFLAGS value="-N2Release\obj\libexpat_static -N0Release\obj\libexpat_static -$Y- -$L- -$D-"/>
|
||||
<RFLAGS value="/l 0x409 /d "NDEBUG" /i$(BCB)\include"/>
|
||||
<AFLAGS value="/mx /w2 /zn"/>
|
||||
<LFLAGS value=""/>
|
||||
</OPTIONS>
|
||||
<LINKER>
|
||||
<ALLOBJ value="$(OBJFILES)"/>
|
||||
<ALLRES value="$(RESFILES)"/>
|
||||
<ALLLIB value="$(LIBFILES) $(LIBRARIES)"/>
|
||||
</LINKER>
|
||||
<IDEOPTIONS>
|
||||
[Version Info]
|
||||
IncludeVerInfo=0
|
||||
AutoIncBuild=0
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
Release=0
|
||||
Build=0
|
||||
Debug=0
|
||||
PreRelease=0
|
||||
Special=0
|
||||
Private=0
|
||||
DLL=0
|
||||
Locale=1033
|
||||
CodePage=1252
|
||||
|
||||
[Version Info Keys]
|
||||
CompanyName=
|
||||
FileDescription=
|
||||
FileVersion=1.0.0.0
|
||||
InternalName=
|
||||
LegalCopyright=
|
||||
LegalTrademarks=
|
||||
OriginalFilename=
|
||||
ProductName=
|
||||
ProductVersion=1.0.0.0
|
||||
Comments=
|
||||
|
||||
[HistoryLists\hlIncludePath]
|
||||
Count=4
|
||||
Item0=..\lib;$(BCB)\include
|
||||
Item1=$(BCB)\include
|
||||
Item2=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl
|
||||
Item3=$(BCB)\include;$(BCB)\include\mfc;$(BCB)\include\atl;
|
||||
|
||||
[HistoryLists\hlLibraryPath]
|
||||
Count=5
|
||||
Item0=..\lib;$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item1=..\lib;$(BCB)\lib;..\lib\$(RELEASELIBPATH)
|
||||
Item2=$(BCB)\lib;$(RELEASELIBPATH)
|
||||
Item3=$(BCB)\lib;$(RELEASELIBPATH);$(BCB)\lib\psdk
|
||||
Item4=$(BCB)\lib;$(RELEASELIBPATH);;$(BCB)\lib\psdk;
|
||||
|
||||
[HistoryLists\hlDebugSourcePath]
|
||||
Count=1
|
||||
Item0=$(BCB)\source\vcl
|
||||
|
||||
[HistoryLists\hlConditionals]
|
||||
Count=7
|
||||
Item0=_WINDOWS;WIN32;NDEBUG;_LIB;COMPILED_FROM_DSP;XML_STATIC
|
||||
Item1=_WINDOWS;WIN32;NDEBUG;_DEBUG;_LIB;COMPILED_FROM_DSP;XML_STATIC
|
||||
Item2=WIN32;_WINDOWS;NDEBUG;_DEBUG;_LIB;COMPILED_FROM_DSP;XML_STATIC
|
||||
Item3=WIN32;_WINDOWS;NDEBUG;_LIB;COMPILED_FROM_DSP;_DEBUG
|
||||
Item4=WIN32;_WINDOWS;NDEBUG;_LIB;COMPILED_FROM_DSP
|
||||
Item5=WIN32;_WINDOWS;NDEBUG;_LIB;COMPILED_FROM_DSP;_MBCS
|
||||
Item6=WIN32;_WINDOWS;NDEBUG;_MBCS;_LIB;COMPILED_FROM_DSP
|
||||
|
||||
[HistoryLists\hlIntOutputDir]
|
||||
Count=6
|
||||
Item0=Release\obj\libexpat_static
|
||||
Item1=Release\obj\mts
|
||||
Item2=Release\obj\mt
|
||||
Item3=Release
|
||||
Item4=..\lib\Release_static
|
||||
Item5=Release_static
|
||||
|
||||
[HistoryLists\hlFinalOutputDir]
|
||||
Count=3
|
||||
Item0=Release\
|
||||
Item1=Release
|
||||
Item2=Release_static\
|
||||
|
||||
[HistoryLists\hlTlibPageSize]
|
||||
Count=1
|
||||
Item0=0x0010
|
||||
|
||||
[Debugging]
|
||||
DebugSourceDirs=
|
||||
|
||||
[Parameters]
|
||||
RunParams=
|
||||
HostApplication=
|
||||
RemoteHost=
|
||||
RemotePath=
|
||||
RemoteDebug=0
|
||||
|
||||
[Compiler]
|
||||
ShowInfoMsgs=0
|
||||
LinkDebugVcl=0
|
||||
LinkCGLIB=0
|
||||
|
||||
[Language]
|
||||
ActiveLang=
|
||||
ProjectLang=
|
||||
RootDir=
|
||||
</IDEOPTIONS>
|
||||
</PROJECT>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user