00001 #!/usr/bin/php -q
00002 <?php
00003
00043 $makefile_header= '#Dummy Makefile.am for Elphel camera KDevelop project';
00044 $HOME_DIR= trim(shell_exec('cd ~ ; pwd'));
00045 $PWD= trim(shell_exec('pwd'));
00046 $TAG_FILE= "$PWD/tags";
00047 $TAG_EXCLUDE_FILE="$PWD/ctags_excludes";
00048
00049 $KDEVELOP_RC_FILE="$HOME_DIR/.kde/share/config/kdeveloprc";
00050 $PROJECT_KDEVELOP='elphel353.kdevelop';
00051 $DOXYFILE= 'Doxyfile';
00052 $REVISION= trim(shell_exec('grep "JIMAGEID =" Makefile | sed -n -e "s/JIMAGEID = //p"'));
00053 $HWID= trim(shell_exec('grep "HWID =" Makefile | sed -n -e "s/HWID = //p"'));
00054 $DOXYGEN_EXTENSIONS=array ('c', 'cc', 'cxx','cpp', 'c++','d', 'java','ii', 'ixx',
00055 'ipp','i++', 'inl','h', 'hh', 'hxx','hpp', 'h++','idl',
00056 'odl','cs', 'php','php3','inc','m', 'mm', 'dox','py',
00057 'C', 'CC', 'C++','II', 'I++','H', 'HH', 'H++','CS',
00058 'PHP','PHP3','M', 'MM', 'PY');
00059
00061 $PROJECT_SOURCES =array ('c', 'cc', 'cxx','cpp', 'c++', 'C', 'CC', 'C++');
00062 $PROJECT_HEADERS =array ('h', 'H',);
00063 $PROJECT_SCRIPTS =array ('php', 'php3', 'PHP', 'PHP3');
00064
00065
00067 if (phpversion() < '5.0.0') {
00068 echo "You need PHP version of at least 5.0.0 to run $argv[0]\n";
00069 exit (1);
00070 }
00071 if ((array_search("--verbose",$argv)===false) && (array_search("-v",$argv)===false)) {
00072 echo "You may use --verbose or -v command line option to show information about created Makefile.am files\n";
00073 }
00074 if ((array_search("--strict",$argv)===false) && (array_search("-s",$argv)===false)) {
00075 echo "You may use --strict or -s command line option to stop if any of the required KDevelop-related programs is missing\n";
00076 }
00077 if (array_search("--force",$argv)===false) {
00078 echo "You may use --force command line option to force overwriting existent files (created by $argv[0])\n";
00079 }
00080 if (array_search("--clean",$argv)===false) {
00081 echo "You may use --clean command line option to delete most files created by $argv[0]\n";
00082 }
00083
00084 echo "\nThis script ($argv[0]) prepares Elphel cameras software to be used with KDevelop\n";
00085 echo "integrated development environment. You may need to install additional packages for that.\n";
00086 echo "Looking for required programs...\n";
00087 $all_installed = true;
00088 $all_installed &= test_kdevelop_depend('kdevelop','kdevelop');
00089 $all_installed &= test_kdevelop_depend('ctags', 'ctags');
00090 $all_installed &= test_kdevelop_depend('doxygen', 'doxygen');
00091 $all_installed &= test_kdevelop_depend('dot', 'graphviz');
00092 if ($all_installed) echo "All required programs are found in your system\n";
00093 else if ((array_search("--strict",$argv)!==false) || (array_search("-s",$argv)!==false)) {
00094 echo "Some needed programs are missing, and you required 'strict'.\n";
00095 exit (1);
00096 }
00097
00098 $list=file('src.list');
00099 array_walk($list,'walk_src_nolinks');
00100 $list=array_filter ($list);
00101 sort ($list);
00103 $files=array();
00104 foreach ($list as $line) {
00105 $path=explode ('/',$line);
00106 if ($path[0]=='.') $path=array($path[1]);
00107 $pointer=&$files;
00108 for ($i=0; $i<(count($path)-1); $i++) {
00109 if (!is_array($pointer[$path[$i]])) $pointer[$path[$i]]=array();
00110 $pointer=&$pointer[$path[$i]];
00111 }
00112 $pointer[]=$path[(count($path)-1)];
00113 }
00115 make_Makefile_am ($files,'.');
00117 create_templates();
00119 if (file_exists($PROJECT_KDEVELOP) && (array_search("--force",$argv)===false)) {
00120 echo "$PROJECT_KDEVELOP already exists, skipping initialization.\n";
00121 echo "Please delete $PWD/$PROJECT_KDEVELOP and rerun $argv[0] if you would like $PROJECT_KDEVELOP to be regenerated.\n";
00122 echo "You may also rerun $argv[0] with --force command line option.\n\n";
00123 } else {
00124 file_put_contents ($PROJECT_KDEVELOP, create_elphel353_kdevelop());
00125 echo "Created $PWD/$PROJECT_KDEVELOP\n\n";
00126 }
00129 if (array_search("--clean",$argv)===false) {
00130 if (shell_exec ("which ctags")) {
00131 if (file_exists($TAG_EXCLUDE_FILE) && (array_search("--force",$argv)===false)) {
00132 echo "$TAG_EXCLUDE_FILE already exists, skipping initialization.\n";
00133 echo "Please delete $TAG_EXCLUDE_FILE and rerun $argv[0] if you would like $TAG_EXCLUDE_FILE to be regenerated.\n";
00134 echo "You may also rerun $argv[0] with --force command line option.\n\n";
00135 } else {
00136 file_put_contents ($TAG_EXCLUDE_FILE, create_elphel353_ctags_exclusions());
00137 echo "Created CTAGS exclusions file $TAG_EXCLUDE_FILE\n\n";
00138 }
00139 echo "Creating CTAGS file $TAG_FILE (you may regenerate it from KDevelop: CTags tab, Regenarate button))\n\n";
00140 shell_exec ("ctags -R --c++-types=+px --excmd=pattern --exclude=Makefile --exclude=. --exclude=@$PWD/ctags_excludes -f $TAG_FILE $PWD");
00142 if (file_exists($KDEVELOP_RC_FILE)) {
00143 $kdeveloprc=file_get_contents($KDEVELOP_RC_FILE);
00144 $kdevelop_rc_file=fopen($KDEVELOP_RC_FILE,"a");
00145 if (strpos($kdeveloprc,"[CTAGS]")===false) {
00146 fwrite($kdevelop_rc_file, "[CTAGS]\n");
00147 fwrite($kdevelop_rc_file, "JumpToFirst=false\n");
00148 fwrite($kdevelop_rc_file, "ShowDeclaration=true\n");
00149 fwrite($kdevelop_rc_file, "ShowDefinition=true\n");
00150 fwrite($kdevelop_rc_file, "ShowLookup=true\n");
00151 fwrite($kdevelop_rc_file, "ctags binary=".trim(shell_exec("which ctags"))."\n");
00152 echo "$KDEVELOP_RC_FILE is modified to include CTAGS executable\n\n";
00153 }
00154 fclose($kdevelop_rc_file);
00155 } else echo "$KDEVELOP_RC_FILE is not found - it can be created by opening/closing KDevelop\n";
00156 }
00157 } else {
00158 echo "Deleting CTAGS file $TAG_FILE\n";
00159 @unlink($TAG_FILE);
00160 echo "Deleting CTAGS exclusions file $TAG_EXCLUDE_FILE\n";
00161 @unlink($TAG_EXCLUDE_FILE);
00162 }
00164 if (array_search("--clean",$argv)===false) {
00165 if (file_exists($DOXYFILE) && (array_search("--force",$argv)===false)) {
00166 echo "$DOXYFILE already exists, skipping initialization.\n";
00167 echo "Please delete $PWD/$DOXYFILE and rerun $argv[0] if you would like $DOXYFILE to be regenerated.\n";
00168 echo "You may also rerun $argv[0] with --force command line option.\n\n";
00169 } else {
00170 file_put_contents ($DOXYFILE, create_doxyfile());
00171 echo "Created $PWD/$DOXYFILE\n\n";
00172 }
00173 } else {
00174 echo "Deleting $PWD/$DOXYFILE\n\n";
00175 @unlink ("$PWD/$DOXYFILE");
00176 }
00177 echo "\n";
00178 echo "#############################################################################################################################\n";
00179 echo "# You may open project in KDevelop by clicking on the $PROJECT_KDEVELOP in file manager #\n";
00180 echo "# In the KDevelop, 'build' means run top 'make' (rebuild flash image) #\n";
00181 echo "# 'compile' means run 'make install' in the directory of the current source file - works with applications #\n";
00182 echo "# You may create documentation with 'Build'->Build API documentation. #\n";
00183 echo "#############################################################################################################################\n\n";
00184
00185 exit (0);
00186
00187
00199
00200 function make_Makefile_am ($tree,$path) {
00201 global $makefile_header;
00202 global $PROJECT_SOURCES, $PROJECT_HEADERS, $PROJECT_SCRIPTS;
00203 global $argv;
00204 $subdirs=array();
00205 $files=array(
00206 'sources'=> array(),
00207 'headers'=> array(),
00208 'scripts'=> array(),
00209 'other' => array()
00210 );
00211 foreach ($tree as $name=>$entry) {
00212 if (is_array($entry)) $subdirs[]=$name;
00213
00214 else {
00215 if (($pos=strrpos($entry,'.'))) {
00216 $ext=substr($entry,$pos+1);
00217 if ((array_search ( $ext,$PROJECT_SOURCES)) !==false) $files['sources'][]=$entry;
00218 else if ((array_search ( $ext,$PROJECT_HEADERS)) !==false) $files['headers'][]=$entry;
00219 else if ((array_search ( $ext,$PROJECT_SCRIPTS)) !==false) $files['scripts'][]=$entry;
00220 else $files['other'][]=$entry;
00221 } else $files['other'][]=$entry;
00222 }
00223 }
00224 if (array_search("--clean",$argv)===false) {
00225 $makefile=$makefile_header."\n".
00226 "INCLUDES = \n".
00227 "METASOURCES = AUTO\n";
00228 if (count($subdirs)){
00229 $makefile.='SUBDIRS = ';
00230 for ($i=0; $i<count($subdirs)-1; $i++) $makefile.=$subdirs[$i]." \\\n";
00231 $makefile.=$subdirs[count($subdirs)-1]."\n";
00232 }
00233 if (count($files['sources'])){
00234 $esc_path=trim(str_replace('-' , '_', str_replace('.' , '_', str_replace('/' , '_', $path ))),"_");
00235 $makefile.="bin_PROGRAMS = {$esc_path}\n{$esc_path}_SOURCES = ";
00236 for ($i=0; $i<count($files['sources'])-1; $i++) $makefile.=$files['sources'][$i]." \\\n";
00237 $makefile.=$files['sources'][count($files['sources'])-1]."\n";
00238 }
00239 if (count($files['headers'])){
00240
00241 $makefile.="noinst_HEADERS = ";
00242 for ($i=0; $i<count($files['headers'])-1; $i++) $makefile.=$files['headers'][$i]." \\\n";
00243 $makefile.=$files['headers'][count($files['headers'])-1]."\n";
00244 }
00245 if (count($files['scripts'])){
00246 $makefile.="bin_SCRIPTS = ";
00247 for ($i=0; $i<count($files['scripts'])-1; $i++) $makefile.=$files['scripts'][$i]." \\\n";
00248 $makefile.=$files['scripts'][count($files['scripts'])-1]."\n";
00249 }
00250 if (count($files['other'])){
00251 $makefile.="bin_DATA = ";
00252 for ($i=0; $i<count($files['other'])-1; $i++) $makefile.=$files['other'][$i]." \\\n";
00253 $makefile.=$files['other'][count($files['other'])-1]."\n";
00254 }
00255 }
00257 $makefile_path=$path."/Makefile.am";
00258 $old_makefile="";
00259 if (file_exists ($makefile_path)) $old_makefile=file_get_contents($makefile_path);
00260 if (($old_makefile!="") && (strpos($old_makefile,$makefile_header)===false)) {
00261 if ((array_search("--verbose",$argv)!==false) || (array_search("-v",$argv)!==false)) {
00262 echo "\"Real\" Makefile.am ($makefile_path) exists, using to ${makefile_path}.elphel\n";
00263 }
00264 $makefile_path.=".elphel";
00265 }
00266 if (array_search("--clean",$argv)===false) {
00267 if ((array_search("--verbose",$argv)!==false) || (array_search("-v",$argv)!==false)) {
00268 echo "Writing to $makefile_path\n";
00269 }
00270 file_put_contents ( $makefile_path, $makefile);
00271 } else {
00272 if ((array_search("--verbose",$argv)!==false) || (array_search("-v",$argv)!==false)) {
00273 echo "Deleting $makefile_path\n";
00274 }
00275 @unlink ($makefile_path);
00276 }
00278 foreach ($subdirs as $subdir) make_Makefile_am ($tree[$subdir],$path.'/'.$subdir);
00279 }
00280
00281 function walk_src_nolinks(&$line) {
00282 $pos=strpos($line,'#');
00283 if ($pos!==false) $line=substr($line,0,$pos);
00284 $line=ltrim($line);
00285 if (strpos($line,'===')!==false) $line="";
00286 if (strpos($line,'->')!==false) $line="";
00287 $pos=strpos($line,' ');
00288 if ($pos!==false) $line=substr($line,0,$pos);
00289 $line=rtrim($line);
00290 if (($line!='') && (strpos($line,'/')===false)) $line='./'.$line;
00291 }
00292
00293 function create_templates() {
00294 global $argv;
00295 $fool_cvs='$Log';
00296 if (file_exists ("templates")) {
00297 echo "File templates directory already exists. If you would like to regenerate all file templates - \n";
00298 echo "delete $PWD/templates directory and re-run $argv[0]\n";
00299 echo "You may also rerun $argv[0] with --force command line option.\n\n";
00300 } else {
00301 echo "Creating $PWD/templates directory\n";
00302 mkdir ("templates");
00303 }
00304 $template_c= <<<TEMPLATE_C
00328 TEMPLATE_C;
00329
00330 $template_cpp= <<<TEMPLATE_CPP
00354 TEMPLATE_CPP;
00355
00356 $template_h= <<<TEMPLATE_H
00380 TEMPLATE_H;
00381
00382 $template_php= <<<TEMPLATE_PHP
00383 #!/usr/local/sbin/php -q
00384 <?php
00408 ?>
00409
00410 TEMPLATE_PHP;
00411
00412 $template_v= <<<TEMPLATE_V
00437 TEMPLATE_V;
00438
00439 $template_tf= <<<TEMPLATE_TF
00464 TEMPLATE_TF;
00465
00466 $template_ucf= <<<TEMPLATE_UCF
00467 ##
00468 ## HDL user constraints file
00469 ## FILE NAME : \$MODULE\$.ucf
00470 ## DESCRIPTION:
00471 ## AUTHOR : \$AUTHOR\$
00472 ## Copyright (C) \$YEAR\$ Elphel, Inc
00473 ## -----------------------------------------------------------------------------
00474 ##
00475 ## This program is free software: you can redistribute it and/or modify
00476 ## it under the terms of the GNU General Public License as published by
00477 ## the Free Software Foundation, either version 3 of the License, or
00478 ## (at your option) any later version.
00479 ##
00480 ## This program is distributed in the hope that it will be useful,
00481 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
00482 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00483 ## GNU General Public License for more details.
00484 ##
00485 ## You should have received a copy of the GNU General Public License
00486 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
00487 ## -----------------------------------------------------------------------------
00488 ## $fool_cvs:\$MODULE\$.ucf,v $
00489 ##
00490
00491 TEMPLATE_UCF;
00492
00493 write_template('templates/c', $template_c);
00494 write_template('templates/cpp',$template_cpp);
00495 write_template('templates/h', $template_h);
00496 write_template('templates/php',$template_php);
00497 write_template('templates/v', $template_v);
00498 write_template('templates/tf', $template_tf);
00499 write_template('templates/ucf',$template_ucf);
00500 }
00501
00502 function write_template($path,$content) {
00503 global $argv;
00504 if (array_search("--clean",$argv)===false) {
00505 if (file_exists ($path) && (array_search("--force",$argv)===false)) {
00506 echo "File template $path already exists, skipping generation.\n";
00507 } else {
00508 echo "Generating file template $path\n";
00509 file_put_contents ( $path, $content);
00510 }
00511 } else {
00512 echo "Deleting template file $path\n";
00513 @unlink( $path);
00514 }
00515 }
00516 function create_elphel353_kdevelop() {
00517 global $HWID,$REVISION,$PWD,$argv;
00518
00519 return <<<KDEVELOP
00520 <?xml version = '1.0'?>
00521 <kdevelop>
00522 <general>
00523 <author>Elphel, Inc.</author>
00524 <email>support@elphel.com</email>
00525 <version>$REVISION</version>
00526 <projectmanagement>KDevAutoProject</projectmanagement>
00527 <primarylanguage>C++</primarylanguage>
00528 <ignoreparts/>
00529 <projectname>elphel$HWID</projectname>
00530 <projectdirectory>.</projectdirectory>
00531 <absoluteprojectpath>false</absoluteprojectpath>
00532 <description/>
00533 <defaultencoding/>
00534 <versioncontrol>kdevcvsservice</versioncontrol>
00535 </general>
00536 <kdevautoproject>
00537 <general>
00538 <activetarget>apps/web/imgsrv/dummy</activetarget>
00539 <useconfiguration>default</useconfiguration>
00540 </general>
00541 <configurations>
00542 <optimized>
00543 <builddir>optimized</builddir>
00544 <ccompiler>GccOptions</ccompiler>
00545 <cxxcompiler>GppOptions</cxxcompiler>
00546 <f77compiler>G77Options</f77compiler>
00547 <cxxflags>-O2 -g0</cxxflags>
00548 </optimized>
00549 <debug>
00550 <configargs>--enable-debug=full</configargs>
00551 <builddir/>
00552 <ccompiler>kdevgccoptions</ccompiler>
00553 <cxxcompiler>kdevgppoptions</cxxcompiler>
00554 <f77compiler>kdevpgf77options</f77compiler>
00555 <cxxflags>-O0 -g3</cxxflags>
00556 <envvars/>
00557 <topsourcedir/>
00558 <cppflags/>
00559 <ldflags/>
00560 <ccompilerbinary>gcc-cris</ccompilerbinary>
00561 <cxxcompilerbinary/>
00562 <f77compilerbinary/>
00563 <cflags/>
00564 <f77flags/>
00565 </debug>
00566 <default>
00567 <envvars/>
00568 </default>
00569 </configurations>
00570 <make>
00571 <envvars/>
00572 <abortonerror>true</abortonerror>
00573 <runmultiplejobs>false</runmultiplejobs>
00574 <numberofjobs>1</numberofjobs>
00575 <dontact>false</dontact>
00576 <makebin>DDD=`command pwd` ; while [ ! -f init_env ] ; do cd .. ; done ; . ./init_env ; if [ `echo \$DDD | grep "/os/"` ] ; then cd packages/os/linux-2.6-R1_4_2 ; make install ; else cd \$DDD ; if [ -f init_env ] ; then make ; else make install ; fi ; fi ; echo ignoring</makebin>
00577 <prio>0</prio>
00578 </make>
00579 <run>
00580 <mainprogram></mainprogram>
00581 <programargs/>
00582 <globaldebugarguments/>
00583 <globalcwd></globalcwd>
00584 <useglobalprogram>false</useglobalprogram>
00585 <terminal>false</terminal>
00586 <autocompile>false</autocompile>
00587 <autoinstall>false</autoinstall>
00588 <autokdesu>false</autokdesu>
00589 <envvars/>
00590 </run>
00591 </kdevautoproject>
00592 <kdevdebugger>
00593 <general>
00594 <dbgshell>libtool</dbgshell>
00595 <gdbpath/>
00596 <configGdbScript/>
00597 <runShellScript/>
00598 <runGdbScript/>
00599 <breakonloadinglibs>true</breakonloadinglibs>
00600 <separatetty>false</separatetty>
00601 <floatingtoolbar>false</floatingtoolbar>
00602 </general>
00603 <display>
00604 <staticmembers>false</staticmembers>
00605 <demanglenames>true</demanglenames>
00606 <outputradix>10</outputradix>
00607 </display>
00608 </kdevdebugger>
00609 <kdevdoctreeview>
00610 <ignoretocs>
00611 <toc>ada</toc>
00612 <toc>ada_bugs_gcc</toc>
00613 <toc>bash</toc>
00614 <toc>bash_bugs</toc>
00615 <toc>clanlib</toc>
00616 <toc>fortran_bugs_gcc</toc>
00617 <toc>gnome1</toc>
00618 <toc>gnustep</toc>
00619 <toc>gtk</toc>
00620 <toc>gtk_bugs</toc>
00621 <toc>haskell</toc>
00622 <toc>haskell_bugs_ghc</toc>
00623 <toc>java_bugs_gcc</toc>
00624 <toc>java_bugs_sun</toc>
00625 <toc>kde2book</toc>
00626 <toc>opengl</toc>
00627 <toc>pascal_bugs_fp</toc>
00628 <toc>php</toc>
00629 <toc>php_bugs</toc>
00630 <toc>perl</toc>
00631 <toc>perl_bugs</toc>
00632 <toc>python</toc>
00633 <toc>python_bugs</toc>
00634 <toc>qt-kdev3</toc>
00635 <toc>ruby</toc>
00636 <toc>ruby_bugs</toc>
00637 <toc>sdl</toc>
00638 <toc>sw</toc>
00639 <toc>w3c-dom-level2-html</toc>
00640 <toc>w3c-svg</toc>
00641 <toc>w3c-uaag10</toc>
00642 <toc>wxwidgets_bugs</toc>
00643 </ignoretocs>
00644 <ignoreqt_xml>
00645 <toc>Guide to the Qt Translation Tools</toc>
00646 <toc>Qt Assistant Manual</toc>
00647 <toc>Qt Designer Manual</toc>
00648 <toc>Qt Reference Documentation</toc>
00649 <toc>qmake User Guide</toc>
00650 </ignoreqt_xml>
00651 <ignoredoxygen>
00652 <toc>KDE Libraries (Doxygen)</toc>
00653 </ignoredoxygen>
00654 </kdevdoctreeview>
00655 <kdevfilecreate>
00656 <filetypes>
00657 <type icon="php" ext="php" create="template" name="PHP" >
00658 <descr>A new empty PHP source file.</descr>
00659 </type>
00660 <type icon="source_c" ext="c" create="template" name="C Source" >
00661 <descr>A new empty C file.</descr>
00662 </type>
00663 <type icon="source_h" ext="h" create="template" name="C/C++ Header" >
00664 <descr>A new empty header file for C or C++.</descr>
00665 </type>
00666 <type icon="source_cpp" ext="cpp" create="template" name="C++ Source" >
00667 <descr>A new empty C++ file.</descr>
00668 </type>
00669 <type icon="" ext="v" create="template" name="Verilog HDL" >
00670 <descr>A new emptyVerilog HDL file.</descr>
00671 </type>
00672 <type icon="" ext="tf" create="template" name="Verilog test fixture" >
00673 <descr>A new empty Verilog HDL test fixture file.</descr>
00674 </type>
00675 <type icon="" ext="ucf" create="template" name="HDL User constraints file" >
00676 <descr>New HDL User constraints file</descr>
00677 </type>
00678 </filetypes>
00679 <useglobaltypes/>
00680 </kdevfilecreate>
00681 <kdevcppsupport>
00682 <qt>
00683 <used>false</used>
00684 <version>3</version>
00685 <includestyle>3</includestyle>
00686 <root>/usr/share/qt3</root>
00687 <designerintegration>EmbeddedKDevDesigner</designerintegration>
00688 <qmake>/usr/bin/qmake-qt3</qmake>
00689 <designer></designer>
00690 <designerpluginpaths/>
00691 </qt>
00692 <codecompletion>
00693 <automaticCodeCompletion>false</automaticCodeCompletion>
00694 <automaticArgumentsHint>true</automaticArgumentsHint>
00695 <automaticHeaderCompletion>true</automaticHeaderCompletion>
00696 <codeCompletionDelay>250</codeCompletionDelay>
00697 <argumentsHintDelay>400</argumentsHintDelay>
00698 <headerCompletionDelay>250</headerCompletionDelay>
00699 <showOnlyAccessibleItems>false</showOnlyAccessibleItems>
00700 <completionBoxItemOrder>0</completionBoxItemOrder>
00701 <howEvaluationContextMenu>true</howEvaluationContextMenu>
00702 <showCommentWithArgumentHint>true</showCommentWithArgumentHint>
00703 <statusBarTypeEvaluation>false</statusBarTypeEvaluation>
00704 <namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
00705 <processPrimaryTypes>true</processPrimaryTypes>
00706 <processFunctionArguments>false</processFunctionArguments>
00707 <preProcessAllHeaders>false</preProcessAllHeaders>
00708 <parseMissingHeaders>false</parseMissingHeaders>
00709 <resolveIncludePaths>true</resolveIncludePaths>
00710 <alwaysParseInBackground>true</alwaysParseInBackground>
00711 <usePermanentCaching>true</usePermanentCaching>
00712 <alwaysIncludeNamespaces>false</alwaysIncludeNamespaces>
00713 <includePaths>.;</includePaths>
00714 </codecompletion>
00715 <creategettersetter>
00716 <prefixGet/>
00717 <prefixSet>set</prefixSet>
00718 <prefixVariable>m_,_</prefixVariable>
00719 <parameterName>theValue</parameterName>
00720 <inlineGet>true</inlineGet>
00721 <inlineSet>true</inlineSet>
00722 </creategettersetter>
00723 <splitheadersource>
00724 <enabled>true</enabled>
00725 <synchronize>true</synchronize>
00726 <orientation>Vertical</orientation>
00727 </splitheadersource>
00728 <references/>
00729 </kdevcppsupport>
00730 <cppsupportpart>
00731 <filetemplates>
00732 <interfacesuffix>.h</interfacesuffix>
00733 <implementationsuffix>.cpp</implementationsuffix>
00734 </filetemplates>
00735 </cppsupportpart>
00736 <kdevdocumentation>
00737 <projectdoc>
00738 <docsystem>Doxygen Documentation Collection</docsystem>
00739 <docurl>docs/html/index.html</docurl>
00740 <usermanualurl/>
00741 </projectdoc>
00742 </kdevdocumentation>
00743 <kdevfileview>
00744 <groups>
00745 <hidenonprojectfiles>false</hidenonprojectfiles>
00746 <hidenonlocation>false</hidenonlocation>
00747 </groups>
00748 <tree>
00749 <hidepatterns>*.o,*.lo,CVS,*~</hidepatterns>
00750 <hidenonprojectfiles>true</hidenonprojectfiles>
00751 <showvcsfields>false</showvcsfields>
00752 </tree>
00753 </kdevfileview>
00754 <ctagspart>
00755 <customArguments>-R --c++-types=+px --excmd=pattern --links=no --exclude=Makefile --exclude=. --exclude=@$PWD/ctags_excludes</customArguments>
00756 <customTagfilePath>$PWD/tags</customTagfilePath>
00757 <activeTagsFiles/>
00758 </ctagspart>
00759 <kdevcvsservice>
00760 <recursivewhenupdate>true</recursivewhenupdate>
00761 <prunedirswhenupdate>true</prunedirswhenupdate>
00762 <createdirswhenupdate>true</createdirswhenupdate>
00763 <recursivewhencommitremove>true</recursivewhencommitremove>
00764 <revertoptions>-C</revertoptions>
00765 </kdevcvsservice>
00766 </kdevelop>
00767
00768 KDEVELOP;
00769 }
00770
00771
00772 function create_elphel353_ctags_exclusions() {
00773 global $PWD;
00774 return <<<EXCLUSIONS
00775 $PWD/target
00776
00777
00778
00779
00780
00781
00782
00783
00784
00785
00786
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00798
00799
00800
00801
00802
00803
00804
00805
00806
00807
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858
00860
00861
00862
00863
00864
00865
00866
00867
00868
00869
00870
00871
00872
00873
00874
00875
00876
00877
00878
00879
00880
00881
00882
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00895
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915
00916
00917
00918
00919
00920
00921
00922
00923
00924
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970
00971
00972
00973
00974
00975
00976
00977
00978
00979
00980
00981
00982
00983
00984
00985
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998
00999
01000
01001
01002
01003
01004
01005
01006
01007
01008
01009
01010
01011
01012
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01025
01026
01027
01028
01029
01030
01031
01032
01033
01034
01035
01036
01037
01038
01039
01040
01041
01042
01043
01044
01045
01046
01047
01048
01049
01050
01051
01052
01053
01054
01055
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01070
01071
01072
01073
01074
01075
01076
01077
01078
01079
01080
01081
01082
01083
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096
01097
01098
01099
01100
01101
01102
01103
01104
01105
01106
01107
01108
01109
01110
01111
01112
01113
01114
01115
01116
01117
01118
01119
01120
01121
01122
01123
01124
01125
01126
01127
01128
01129
01130
01131
01132
01133
01134
01135
01136