libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

update_vs_files.sh (4895B)


      1 #!/bin/bash
      2 
      3 # This file works with bash only
      4 
      5 set -e
      6 
      7 prj_files='libmicrohttpd2-files.vcxproj'
      8 prj_filtrs='libmicrohttpd2-filters.vcxproj'
      9 
     10 echo -n "Updating $prj_files and $prj_filtrs"
     11 
     12 echo -ne '\xEF\xBB\xBF' > "$prj_files" # Output BOM
     13 echo '<?xml version="1.0" encoding="utf-8"?>
     14 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' >> "$prj_files"
     15 echo -ne '\xEF\xBB\xBF' > "$prj_filtrs" # Output BOM
     16 echo '<?xml version="1.0" encoding="utf-8"?>
     17 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     18   <ItemGroup>
     19     <Filter Include="Source Files">
     20       <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
     21       <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
     22     </Filter>
     23     <Filter Include="Internal Headers">
     24       <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
     25       <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
     26     </Filter>
     27     <Filter Include="Public Headers">
     28       <UniqueIdentifier>{ec88d605-3383-4989-8e25-bc8efa824720}</UniqueIdentifier>
     29       <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
     30     </Filter>
     31     <Filter Include="Resource Files">
     32       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
     33       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
     34     </Filter>
     35     <Filter Include="Template Files">
     36       <UniqueIdentifier>{df5ad836-e372-437b-a0e3-299d3675d6b4}</UniqueIdentifier>
     37       <Extensions>in</Extensions>
     38     </Filter>
     39   </ItemGroup>' >> "$prj_filtrs"
     40 echo '  <ItemGroup>
     41     <ClInclude Include="$(MhdSrc)include\microhttpd2.h" />
     42     <ClInclude Include="$(MhdSrc)include\microhttpd2_portability.h" />
     43     <ClInclude Include="$(MhdSrc)incl_priv\mhd_sys_options.h" />
     44     <ClInclude Include="$(MhdW32Common)mhd_config.h" />' >> "$prj_files"
     45 echo '  <ItemGroup>
     46     <ClInclude Include="$(MhdSrc)include\microhttpd2.h">
     47       <Filter>Public Headers</Filter>
     48     </ClInclude>
     49     <ClInclude Include="$(MhdSrc)include\microhttpd2_portability.h">
     50       <Filter>Public Headers</Filter>
     51     </ClInclude>
     52   </ItemGroup>
     53   <ItemGroup>
     54     <ClInclude Include="$(MhdSrc)incl_priv\mhd_sys_options.h">
     55       <Filter>Internal Headers</Filter>
     56     </ClInclude>
     57     <ClInclude Include="$(MhdW32Common)mhd_config.h">
     58       <Filter>Internal Headers</Filter>
     59     </ClInclude>' >> "$prj_filtrs"
     60 
     61 for src_file in "${@}"; do
     62   case $src_file in
     63     *.h )
     64        case $src_file in
     65          md5_ext.?|sha*_ext.? ) ;; # skip files
     66          tls_*.?|*_tls_*.? ) ;; # TLS is not supported for VS builds
     67          * )
     68            echo '    <ClInclude Include="$(MhdSrc)mhd2\'"$src_file"'" />' >> "$prj_files"
     69            echo '    <ClInclude Include="$(MhdSrc)mhd2\'"$src_file"'">
     70       <Filter>Internal Headers</Filter>
     71     </ClInclude>' >> "$prj_filtrs"
     72        esac
     73   esac
     74   echo -n '.'
     75 done
     76 
     77 echo '  </ItemGroup>
     78   <ItemGroup>' >> "$prj_files"
     79 echo '  </ItemGroup>
     80   <ItemGroup>' >> "$prj_filtrs"
     81 
     82 for src_file in "${@}"; do
     83   case $src_file in
     84     *.c )
     85        case $src_file in
     86          md5_ext.?|sha*_ext.? ) ;; # skip files
     87          tls_*.?|*_tls_*.? ) ;; # TLS is not supported for VS builds
     88          * )
     89            echo '    <ClCompile Include="$(MhdSrc)mhd2\'"$src_file"'" />' >> "$prj_files"
     90            echo '    <ClCompile Include="$(MhdSrc)mhd2\'"$src_file"'">
     91       <Filter>Source Files</Filter>
     92     </ClCompile>' >> "$prj_filtrs"
     93        esac
     94   esac
     95   echo -n '.'
     96 done
     97 
     98 echo '  </ItemGroup>
     99   <ItemGroup>
    100     <ResourceCompile Include="$(MhdW32Common)microhttpd2.rc" />
    101   </ItemGroup>
    102   <ItemGroup>
    103     <CustomBuild Include="$(MhdW32Common)microhttpd2.rc.in">
    104       <FileType>Document</FileType>
    105       <Command>PowerShell.exe -Version 3.0 -NonInteractive -NoProfile -ExecutionPolicy Bypass -File "$(MhdW32Common)gen_dll_res.ps1" -BasePath "$(MhdW32Common)\"</Command>
    106       <Message>Generating .dll description resource</Message>
    107       <Outputs>$(MhdW32Common)microhttpd2.rc</Outputs>
    108       <AdditionalInputs>$(MhdW32Common)gen_dll_res.ps1;$(MhdRoot)configure.ac</AdditionalInputs>
    109     </CustomBuild>
    110   </ItemGroup>
    111   <ItemGroup>
    112     <None Include="$(MhdSrc)mhd2\cpp.hint" />
    113   </ItemGroup>
    114 </Project>' >> "$prj_files"
    115 echo '  </ItemGroup>
    116   <ItemGroup>
    117     <ResourceCompile Include="$(MhdW32Common)microhttpd2.rc">
    118       <Filter>Resource Files</Filter>
    119     </ResourceCompile>
    120   </ItemGroup>
    121   <ItemGroup>
    122     <CustomBuild Include="$(MhdW32Common)microhttpd2.rc.in">
    123       <Filter>Template Files</Filter>
    124     </CustomBuild>
    125   </ItemGroup>
    126   <ItemGroup>
    127     <None Include="$(MhdSrc)mhd2\cpp.hint" />
    128   </ItemGroup>
    129 </Project>' >> "$prj_filtrs"
    130 
    131 echo " Done"
    132 
    133 if command -v unix2dos >/dev/null 2>&1; then
    134   unix2dos -e -v "$prj_files" "$prj_filtrs"
    135 else
    136   echo "No unix2dos command. Output files are left with LF line endings."
    137 fi