diff options
Diffstat (limited to 'protocols/Telegram/tgl/contrib')
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/config.bat | 524 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/generate.vcxproj | 188 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/generate.vcxproj.filters | 39 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/tgl.sln | 52 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/tgl.vcxproj | 251 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.filters | 153 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.user | 4 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/wingetopt.c | 82 | ||||
-rw-r--r-- | protocols/Telegram/tgl/contrib/vs/wingetopt.h | 32 |
9 files changed, 1325 insertions, 0 deletions
diff --git a/protocols/Telegram/tgl/contrib/vs/config.bat b/protocols/Telegram/tgl/contrib/vs/config.bat new file mode 100644 index 0000000000..8f51e40cf2 --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/config.bat @@ -0,0 +1,524 @@ +@echo off +setlocal enabledelayedexpansion +set PACKAGE_NAME="telegram-cli" +set PACKAGE_TARNAME="telegram-cli" +set PACKAGE_VERSION="1.0" +set PACKAGE_STRING="!PACKAGE_TARNAME:~1,-1! %PACKAGE_VERSION:~1%" +set PACKAGE_BUGREPORT="" +set PACKAGE_URL="" + +set SRC_FOLDER=..\.. +set SOURCE_LIST=() +set AUTO_FOLDER=%SRC_FOLDER%\auto +set BIN_FOLDER=bin +set LIB_FOLDER=lib +set DEFAULT_OUT_FOLDER=build +set OUT_PATH= + +set GEN_TOOL=generate.exe +set PARSER_TOOL=%SRC_FOLDER%\tl-parser\contrib\vs\build\Release\tl-parser.exe + +set CONFIG_HEADER_IN=%SRC_FOLDER%\config.h.in +set CONFIG_HEADER=%SRC_FOLDER%\config.h + +set /p SCHEME_TL=<%SRC_FOLDER%\scheme.tl +set SCHEME_TL=%SRC_FOLDER%\%SCHEME_TL% + +set /p ENCRYPTED_SCHEME_TL=<%SRC_FOLDER%\encrypted_scheme.tl +set ENCRYPTED_SCHEME_TL=%SRC_FOLDER%\%ENCRYPTED_SCHEME_TL% + +set BINLOG_TL=%SRC_FOLDER%\binlog.tl +set MTPROTO_TL=%SRC_FOLDER%\mtproto.tl +set APPEND_TL=%SRC_FOLDER%\append.tl +set CONSTANTS_HEADER=constants.h + + +::################################################################################################################################################# +:parse_args +if not "%1"=="" ( + if "%1"=="-o" ( + set OUT_PATH=%2 + ) + if "%1"=="--gen-config" ( + set /A GEN_CONFIG=1 + ) + if "%1"=="--gen-scheme" ( + set /A GEN_SCHEME=1 + ) + if "%1"=="-debug" ( + set /A DEBUG=1 + set PARSER_TOOL=%PARSER_TOOL:Release=Debug% + ) + if "%1"=="--parser-path" ( + set PARSER_TOOL=%2 + ) + if "%1"=="--help" ( + echo TGL Config + echo Usage: + echo --gen-config generate config.h + echo --gen-scheme generate Telegram API scheme headers and source files + echo --parser-path path to tl-parser.exe + echo -debug debuge mode + exit /b 0 + ) + + shift + goto :parse_args +) + +if {%OUT_PATH%}=={} ( + set OUT_PATH=%DEFAULT_OUT_FOLDER% +) +::Make output folder if not exists +if not exist %OUT_PATH% mkdir %OUT_PATH% + + +::Copy source files to the output folder +for %%i in %SOURCE_LIST% do ( + if not exist %OUT_PATH%\%%i ( + echo |set /p=Copying file: %%i + copy %%i %OUT_PATH%\%%i 1>NUL && ( + echo Done + ) || ( + echo Failed + ) + ) +) + +::Generate config.h +if defined GEN_CONFIG ( + if not exist %CONFIG_HEADER% call :gen_config %CONFIG_HEADER% +) + + +::Generate Telegram API scheme source files +if defined GEN_SCHEME ( + set /a ERR_ENC=0 + + ::Check if tl-parser.exe exists + if not exist %PARSER_TOOL% ( + echo Error: Cannot find %PARSER_TOOL% + exit /b 1 + ) + + ::Check if generate.exe exists + set "GEN_TOOL=%OUT_PATH%\%BIN_FOLDER%\%GEN_TOOL%" + if not exist !GEN_TOOL! ( + echo Error: Cannot find !GEN_TOOL! + exit /b 1 + ) + + ::Make auto folder + if not exist %AUTO_FOLDER% mkdir %AUTO_FOLDER% + + ::Generate scheme.tl + echo |set /p=Generating scheme.tl + type %SCHEME_TL% %ENCRYPTED_SCHEME_TL% %ENCRYPTED_SCHEME% %BINLOG_TL% %MTPROTO_TL% %APPEND_TL% 2>NUL > %AUTO_FOLDER%\scheme.tl + echo Done + + ::Generate scheme2.tl + echo |set /p=Generating scheme2.tl + %PARSER_TOOL% -E %AUTO_FOLDER%\scheme.tl 2> %AUTO_FOLDER%\scheme2.tl + if not !ERRORLEVEL!==0 ( + echo Failed + exit /b 1 + ) else ( + echo Done + ) + + ::Generate scheme.tlo + echo |set /p=Generating scheme.tlo + "%PARSER_TOOL%" -e "%AUTO_FOLDER%\scheme.tlo" %AUTO_FOLDER%\scheme.tl + if not !ERRORLEVEL!==0 ( + echo Failed + exit /b 1 + ) else ( + echo Done + ) + + ::Generate constants.h + echo |set /p=Generating constants.h + call :gen_constants %AUTO_FOLDER%\scheme2.tl > %AUTO_FOLDER%\constants.h + if not !ERRORLEVEL!==0 ( + echo Failed + exit /b 1 + ) else ( + echo Done + ) + + + ::Generate auto-*.h + echo |set /p=Generating auto-skip.h + !GEN_TOOL! -g skip-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-skip.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-skip.h del /q /f %AUTO_FOLDER%\auto-skip.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-fetch.h + !GEN_TOOL! -g fetch-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-fetch.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-fetch.h del /q /f %AUTO_FOLDER%\auto-fetch.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-store.h + !GEN_TOOL! -g store-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-store.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-store.h del /q /f %AUTO_FOLDER%\auto-store.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-autocomplete.h + !GEN_TOOL! -g autocomplete-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-autocomplete.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-autocomplete.h del /q /f %AUTO_FOLDER%\auto-autocomplete.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-types.h + !GEN_TOOL! -g types-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-types.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-types.h del /q /f %AUTO_FOLDER%\auto-types.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-fetch-ds.h + !GEN_TOOL! -g fetch-ds-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-fetch-ds.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-fetch-ds.h del /q /f %AUTO_FOLDER%\auto-fetch-ds.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-free-ds.h + !GEN_TOOL! -g free-ds-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-free-ds.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-free-ds.h del /q /f %AUTO_FOLDER%\auto-free-ds.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-store-ds.h + !GEN_TOOL! -g store-ds-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-store-ds.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-store-ds.h del /q /f %AUTO_FOLDER%\auto-store-ds.h + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-print-ds.h + !GEN_TOOL! -g print-ds-header %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-print-ds.h + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-print-ds.h del /q /f %AUTO_FOLDER%\auto-print-ds.h + echo Failed + ) else ( + echo Done + ) + + + ::Generate auto-*.c + echo |set /p=Generating auto-skip.c + !GEN_TOOL! -g skip %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-skip.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-skip.c del /q /f %AUTO_FOLDER%\auto-skip.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-fetch.c + !GEN_TOOL! -g fetch %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-fetch.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-fetch.c del /q /f %AUTO_FOLDER%\auto-fetch.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-store.c + !GEN_TOOL! -g store %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-store.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-store.c del /q /f %AUTO_FOLDER%\auto-store.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-autocomplete.c + !GEN_TOOL! -g autocomplete %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-autocomplete.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-autocomplete.c del /q /f %AUTO_FOLDER%\auto-autocomplete.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-types.c + !GEN_TOOL! -g types %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-types.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-types.c del /q /f %AUTO_FOLDER%\auto-types.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-fetch-ds.c + !GEN_TOOL! -g fetch-ds %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-fetch-ds.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-fetch-ds.c del /q /f %AUTO_FOLDER%\auto-fetch-ds.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-free-ds.c + !GEN_TOOL! -g free-ds %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-free-ds.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-free-ds.c del /q /f %AUTO_FOLDER%\auto-free-ds.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-store-ds.c + !GEN_TOOL! -g store-ds %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-store-ds.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-store-ds.c del /q /f %AUTO_FOLDER%\auto-store-ds.c + echo Failed + ) else ( + echo Done + ) + + echo |set /p=Generating auto-print-ds.c + !GEN_TOOL! -g print-ds %AUTO_FOLDER%\scheme.tlo > %AUTO_FOLDER%\auto-print-ds.c + if not !ERRORLEVEL!==0 ( + set /a ERR_ENC=!ERRORLEVEL! + if exist %AUTO_FOLDER%\auto-print-ds.c del /q /f %AUTO_FOLDER%\auto-print-ds.c + echo Failed + ) else ( + echo Done + ) + set /a ERRORLEVEL=!ERR_ENC! +) + +::Script End +exit /b !ERRORLEVEL! + +::################################################################################################################################################# +:: Script Functions +::################################################################################################################################################# + +:find_and_replace <file> <findString> <replaceString> + set file_path=%1 + set find_str=%2 + set "find_str=!find_str:~1,-1!" + set replace_str=%3 %4 + set "replace_str=!replace_str:~1,-2!" + + for /f "delims=" %%i in ('type "%file_path%" ^| find /n /v "" ^& break ^> "%file_path%" ') do ( + set "line=%%i" + setlocal enableDelayedExpansion + set "line=!line:*]%find_str%=%replace_str%!" + set "line=!line:*]=!" + >>%file_path% echo(!line! + endlocal + ) + exit /B %ERRORLEVEL% + +:gen_config <output folder> + :rem Copy config.h.in to the output folder + echo |set /p=Copying file: %CONFIG_HEADER_in% + copy %CONFIG_HEADER_IN% %1 1>NUL && ( + echo Done + ) || ( + echo Failed + exit /B %ERRORLEVEL% + ) + + echo |set /p=Configurating file: config.h + call :find_and_replace %1 "#undef PACKAGE_BUGREPORT" "#define PACKAGE_BUGREPORT %PACKAGE_BUGREPORT%" + call :find_and_replace %1 "#undef PACKAGE_NAME" "#define PACKAGE_NAME %PACKAGE_NAME%" + call :find_and_replace %1 "#undef PACKAGE_STRING" "#define PACKAGE_STRING %PACKAGE_STRING%" + call :find_and_replace %1 "#undef PACKAGE_TARNAME" "#define PACKAGE_TARNAME %PACKAGE_TARNAME%" + call :find_and_replace %1 "#undef PACKAGE_URL" "#define PACKAGE_URL %PACKAGE_URL%" + call :find_and_replace %1 "#undef PACKAGE_VERSION" "#define PACKAGE_VERSION %PACKAGE_VERSION%" + + call :find_and_replace %1 "#undef EVENT_V2" "#define EVENT_V2 1" + call :find_and_replace %1 "#undef HAVE_FCNTL_H" "#define HAVE_FCNTL_H 1" + call :find_and_replace %1 "#undef HAVE_INTTYPES_H" "#define HAVE_INTTYPES_H 1" + call :find_and_replace %1 "#undef HAVE_LIBM" "#define HAVE_LIBM 1" + call :find_and_replace %1 "#undef HAVE_LIBZ" "#define HAVE_LIBZ 1" + call :find_and_replace %1 "#undef HAVE_MALLOC_H" "#define HAVE_MALLOC_H 1" + call :find_and_replace %1 "#undef HAVE_MALLOC" "#define HAVE_MALLOC 1" + call :find_and_replace %1 "#undef HAVE_MEMMOVE" "#define HAVE_MEMMOVE 1" + call :find_and_replace %1 "#undef HAVE_MEMORY_H" "#define HAVE_MEMORY_H 1" + call :find_and_replace %1 "#undef HAVE_MEMSET" "#define HAVE_MEMSET 1" + call :find_and_replace %1 "#undef HAVE_MKDIR" "#define HAVE_MKDIR 1" + call :find_and_replace %1 "#undef HAVE_REALLOC" "#define HAVE_REALLOC 1" + call :find_and_replace %1 "#undef HAVE_SELECT" "#define HAVE_SELECT 1" + call :find_and_replace %1 "#undef HAVE_SOCKET" "#define HAVE_SOCKET 1" + call :find_and_replace %1 "#undef HAVE_STDINT_H" "#define HAVE_STDINT_H 1" + call :find_and_replace %1 "#undef HAVE_STDLIB_H" "#define HAVE_STDLIB_H 1" + call :find_and_replace %1 "#undef HAVE_STRDUP" "#define HAVE_STRDUP 1" + call :find_and_replace %1 "#undef HAVE_STRING_H" "#define HAVE_STRING_H 1" + call :find_and_replace %1 "#undef HAVE_STRNDUP" "#define HAVE_STRNDUP 1" + call :find_and_replace %1 "#undef HAVE_SYS_STAT_H" "#define HAVE_SYS_STAT_H 1" + call :find_and_replace %1 "#undef HAVE_SYS_TYPES_H" "#define HAVE_SYS_TYPES_H 1" + call :find_and_replace %1 "#undef STDC_HEADERS" "#define STDC_HEADERS 1" + call :find_and_replace %1 "#undef gid_t" "#define gid_t int" + call :find_and_replace %1 "#undef uid_t" "#define uid_t int" + call :find_and_replace %1 "#undef inline" "#define inline __inline" + call :find_and_replace %1 "#undef" "// #undef" + if %ERRORLEVEL% == 0 echo Done + if not %ERRORLEVEL% == 0 ( + echo Failed + if exist %1\%CONFIG_HEADER% del /q /f %1\%CONFIG_HEADER% + exit /b 1 + ) + exit /B 0 + +:gen_constants <input file> + echo /* + echo This file is part of telegram-client. + echo. + echo Telegram-client is free software: you can redistribute it and/or modify + echo it under the terms of the GNU General Public License as published by + echo the Free Software Foundation, either version 2 of the License, or + echo (at your option) any later version. + echo. + echo Telegram-client is distributed in the hope that it will be useful, + echo but WITHOUT ANY WARRANTY; without even the implied warranty of + echo MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + echo GNU General Public License for more details. + echo. + echo You should have received a copy of the GNU General Public License + echo along with this telegram-client. If not, see ^<http://www.gnu.org/licenses/^>. + echo. + echo Copyright Vitaly Valtman 2013 + echo */ + echo #ifndef CONSTANTS_H + echo #define CONSTANTS_H + + setlocal EnableDelayedExpansion + for /F "tokens=1" %%A in (%1) do ( + call :split %%A # a + if %ERRORLEVEL% == 0 ( + + call :sub a[0] + if not "!h[%a[1]%]!"=="" ( + echo ERROR: Duplicate magic %a[1]% for define %a[0]% and !h[%a[1]%]! 1>&2 + exit /b 1 + ) + + set h[!a[1]!]=!a[0]! + echo #define CODE_!a[0]! 0x!a[1]! + ) + ) + endlocal + echo #endif + exit /b0 + + +:split <string> <delim> <resultVar> + for /F "tokens=1,2 delims=%2" %%a in ("%1") do ( + if "%%a"=="" exit /b 1 + set %3[0]=%%a + if "%%b"=="" exit /b 1 + set %3[1]=%%b + ) + exit /b0 + + +:sub <string> + set /A len= 0 + call :strlen %%1 len + ( + setlocal EnableDelayedExpansion + set "substr=" + for /l %%a IN (0,1,!len!) DO ( + set Char=!%1:~%%a,1! + if "!Char!" EQU "A" SET Char=_a + if "!Char!" EQU "B" SET Char=_b + if "!Char!" EQU "C" SET Char=_c + if "!Char!" EQU "D" SET Char=_d + if "!Char!" EQU "E" SET Char=_e + if "!Char!" EQU "F" SET Char=_f + if "!Char!" EQU "G" SET Char=_g + if "!Char!" EQU "H" SET Char=_h + if "!Char!" EQU "I" SET Char=_i + if "!Char!" EQU "J" SET Char=_j + if "!Char!" EQU "K" SET Char=_k + if "!Char!" EQU "L" SET Char=_l + if "!Char!" EQU "M" SET Char=_m + if "!Char!" EQU "N" SET Char=_n + if "!Char!" EQU "O" SET Char=_o + if "!Char!" EQU "P" SET Char=_p + if "!Char!" EQU "Q" SET Char=_q + if "!Char!" EQU "R" SET Char=_r + if "!Char!" EQU "S" SET Char=_s + if "!Char!" EQU "T" SET Char=_t + if "!Char!" EQU "U" SET Char=_u + if "!Char!" EQU "V" SET Char=_v + if "!Char!" EQU "W" SET Char=_w + if "!Char!" EQU "X" SET Char=_x + if "!Char!" EQU "Y" SET Char=_y + if "!Char!" EQU "Z" SET Char=_z + if "!Char!" EQU "." SET Char=_ + + set substr=!substr!!Char! + ) + ) + ( + endlocal + set "%~1=%substr%" + exit /b + ) + +:strlen <stringVar> <resultVar> + ( + setlocal EnableDelayedExpansion + set "s=!%~1!#" + set "len=0" + for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do ( + if "!s:~%%P,1!" NEQ "" ( + set /a "len+=%%P" + set "s=!s:~%%P!" + ) + ) + ) + ( + endlocal + set "%~2=%len%" + exit /b + ) diff --git a/protocols/Telegram/tgl/contrib/vs/generate.vcxproj b/protocols/Telegram/tgl/contrib/vs/generate.vcxproj new file mode 100644 index 0000000000..a70fb4bf27 --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/generate.vcxproj @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{03A484BF-4CF0-4290-9BD2-D649F0797703}</ProjectGuid>
+ <RootNamespace>generate</RootNamespace>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140_xp</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>build\$(Configuration)\</OutDir>
+ <IntDir>build\$(Configuration)\obj\generate\</IntDir>
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(ProjectDir);</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>build\$(Configuration)\</OutDir>
+ <IntDir>build\$(Configuration)\obj\generate\</IntDir>
+ <IncludePath>$(VC_IncludePath);$(WindowsSdk_71A_IncludePath);$(ProjectDir);</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <OutDir>build\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>build\$(Platform)\$(Configuration)\obj\generate\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <OutDir>build\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>build\$(Platform)\$(Configuration)\obj\generate\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_CONSOLE;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <OutputFile>$(OutDir)\bin\$(TargetName)$(TargetExt)</OutputFile>
+ <ProgramDatabaseFile>$(OutDir)\bin\$(TargetName).pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ProfileGuidedDatabase>$(OutDir)\bin\$(TargetName).pgd</ProfileGuidedDatabase>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <CompileAs>CompileAsC</CompileAs>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <OutputFile>$(OutDir)\bin\$(TargetName)$(TargetExt)</OutputFile>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Full</Optimization>
+ <PreprocessorDefinitions>WIN32;HAVE_CONFIG_H +;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\openssl\include;..\..\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ </ClCompile>
+ <Link>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <OutputFile>$(OutDir)\bin\$(TargetName)$(TargetExt)</OutputFile>
+ <ProgramDatabaseFile>$(OutDir)\bin\$(TargetName).pdb</ProgramDatabaseFile>
+ <AdditionalLibraryDirectories>..\..\openssl\lib;..\..\zlib\contrib\vstudio\vc11\x86\ZlibStatReleaseWithoutAsm\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <SubSystem>Console</SubSystem>
+ <ProfileGuidedDatabase>$(OutDir)\bin\$(TargetName).pgd</ProfileGuidedDatabase>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <CompileAs>CompileAsC</CompileAs>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <OutputFile>$(OutDir)\bin\$(TargetName)$(TargetExt)</OutputFile>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\generate.h" />
+ <ClInclude Include="..\..\tools.h" />
+ <ClInclude Include="wingetopt.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\generate.c" />
+ <ClCompile Include="..\..\tools.c" />
+ <ClCompile Include="wingetopt.c" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/generate.vcxproj.filters b/protocols/Telegram/tgl/contrib/vs/generate.vcxproj.filters new file mode 100644 index 0000000000..ed1998c59d --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/generate.vcxproj.filters @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="wingetopt.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\generate.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tools.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="wingetopt.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\generate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tools.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/tgl.sln b/protocols/Telegram/tgl/contrib/vs/tgl.sln new file mode 100644 index 0000000000..063abfb0b6 --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/tgl.sln @@ -0,0 +1,52 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.23107.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tgl", "tgl.vcxproj", "{C3106192-32AD-442F-A3A2-E3CFB63F0CF1}" + ProjectSection(ProjectDependencies) = postProject + {14022761-9F27-4A2D-B7EA-F41FB9B3274C} = {14022761-9F27-4A2D-B7EA-F41FB9B3274C} + {03A484BF-4CF0-4290-9BD2-D649F0797703} = {03A484BF-4CF0-4290-9BD2-D649F0797703} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tl-parser", "..\..\tl-parser\contrib\vs\tl-parser.vcxproj", "{14022761-9F27-4A2D-B7EA-F41FB9B3274C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generate", "generate.vcxproj", "{03A484BF-4CF0-4290-9BD2-D649F0797703}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Debug|x64.ActiveCfg = Debug|x64 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Debug|x64.Build.0 = Debug|x64 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Debug|x86.ActiveCfg = Debug|Win32 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Debug|x86.Build.0 = Debug|Win32 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Release|x64.ActiveCfg = Release|x64 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Release|x64.Build.0 = Release|x64 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Release|x86.ActiveCfg = Release|Win32 + {C3106192-32AD-442F-A3A2-E3CFB63F0CF1}.Release|x86.Build.0 = Release|Win32 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Debug|x64.ActiveCfg = Debug|x64 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Debug|x64.Build.0 = Debug|x64 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Debug|x86.ActiveCfg = Debug|Win32 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Debug|x86.Build.0 = Debug|Win32 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Release|x64.ActiveCfg = Release|x64 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Release|x64.Build.0 = Release|x64 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Release|x86.ActiveCfg = Release|Win32 + {14022761-9F27-4A2D-B7EA-F41FB9B3274C}.Release|x86.Build.0 = Release|Win32 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Debug|x64.ActiveCfg = Debug|x64 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Debug|x64.Build.0 = Debug|x64 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Debug|x86.ActiveCfg = Debug|Win32 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Debug|x86.Build.0 = Debug|Win32 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Release|x64.ActiveCfg = Release|x64 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Release|x64.Build.0 = Release|x64 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Release|x86.ActiveCfg = Release|Win32 + {03A484BF-4CF0-4290-9BD2-D649F0797703}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj new file mode 100644 index 0000000000..0dd16c17fd --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj @@ -0,0 +1,251 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\auto.h" />
+ <ClInclude Include="..\..\event-old.h" />
+ <ClInclude Include="..\..\mtproto-client.h" />
+ <ClInclude Include="..\..\mtproto-common.h" />
+ <ClInclude Include="..\..\mtproto-utils.h" />
+ <ClInclude Include="..\..\no-preview.h" />
+ <ClInclude Include="..\..\queries.h" />
+ <ClInclude Include="..\..\tg-mime-types.h" />
+ <ClInclude Include="..\..\tgl-binlog.h" />
+ <ClInclude Include="..\..\tgl-fetch.h" />
+ <ClInclude Include="..\..\tgl-inner.h" />
+ <ClInclude Include="..\..\tgl-layout.h" />
+ <ClInclude Include="..\..\tgl-methods-in.h" />
+ <ClInclude Include="..\..\tgl-net-inner.h" />
+ <ClInclude Include="..\..\tgl-net.h" />
+ <ClInclude Include="..\..\tgl-structures.h" />
+ <ClInclude Include="..\..\tgl-timers.h" />
+ <ClInclude Include="..\..\tgl.h" />
+ <ClInclude Include="..\..\tools.h" />
+ <ClInclude Include="..\..\tree.h" />
+ <ClInclude Include="..\..\updates.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\auto\auto-autocomplete.c" />
+ <ClCompile Include="..\..\auto\auto-fetch-ds.c" />
+ <ClCompile Include="..\..\auto\auto-fetch.c" />
+ <ClCompile Include="..\..\auto\auto-free-ds.c" />
+ <ClCompile Include="..\..\auto\auto-print-ds.c" />
+ <ClCompile Include="..\..\auto\auto-skip.c" />
+ <ClCompile Include="..\..\auto\auto-store-ds.c" />
+ <ClCompile Include="..\..\auto\auto-store.c" />
+ <ClCompile Include="..\..\auto\auto-types.c" />
+ <ClCompile Include="..\..\binlog.c" />
+ <ClCompile Include="..\..\mime-types.c" />
+ <ClCompile Include="..\..\mtproto-client.c" />
+ <ClCompile Include="..\..\mtproto-common.c" />
+ <ClCompile Include="..\..\mtproto-utils.c" />
+ <ClCompile Include="..\..\queries.c" />
+ <ClCompile Include="..\..\structures.c" />
+ <ClCompile Include="..\..\tg-mime-types.c" />
+ <ClCompile Include="..\..\tgl-net.c" />
+ <ClCompile Include="..\..\tgl-timers.c" />
+ <ClCompile Include="..\..\tgl.c" />
+ <ClCompile Include="..\..\tools.c" />
+ <ClCompile Include="..\..\updates.c" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C3106192-32AD-442F-A3A2-E3CFB63F0CF1}</ProjectGuid>
+ <RootNamespace>tgl</RootNamespace>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140_xp</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>build\$(Configuration)\</OutDir>
+ <IntDir>build\$(Configuration)\obj\tgl\</IntDir>
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(IntDir);</IncludePath>
+ <PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>build\$(Configuration)\</OutDir>
+ <IntDir>build\$(Configuration)\obj\tgl\</IntDir>
+ <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(IntDir);</IncludePath>
+ <PreBuildEventUseInBuild>true</PreBuildEventUseInBuild>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>build\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>build\$(Platform)\$(Configuration)\obj\tgl\</IntDir>
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(IntDir);</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>build\$(Platform)\$(Configuration)\</OutDir>
+ <IntDir>build\$(Platform)\$(Configuration)\obj\tgl\</IntDir>
+ <ExtensionsToDeleteOnClean>*.h;$(ExtensionsToDeleteOnClean)</ExtensionsToDeleteOnClean>
+ <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(IntDir);</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>WIN32;_LIB;HAVE_CONFIG_H;ZLIB_WINAPI;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableLanguageExtensions>false</DisableLanguageExtensions>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <ProgramDataBaseFileName>$(OutDir)\lib\$(ProjectName).pdb</ProgramDataBaseFileName>
+ <DisableSpecificWarnings>
+ </DisableSpecificWarnings>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat -debug --gen-config --gen-scheme -o $(OutDir)</Command>
+ </PreBuildEvent>
+ <Lib>
+ <OutputFile>$(OutDir)\lib\$(TargetName)$(TargetExt)</OutputFile>
+ <AdditionalDependencies>Ws2_32.lib;event.lib;libeay32.lib;ssleay32.lib;zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Lib>
+ <ProjectReference>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_LIB;HAVE_CONFIG_H;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <CompileAs>CompileAsC</CompileAs>
+ <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <Lib>
+ <OutputFile>$(OutDir)\lib\$(TargetName)$(TargetExt)</OutputFile>
+ </Lib>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config --gen-scheme -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;_LIB;HAVE_CONFIG_H;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\openssl\include;..\..\zlib;..\..\libevent\include\;..\..\libevent\WIN32-Code\nmake\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ <DisableSpecificWarnings>
+ </DisableSpecificWarnings>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config --gen-scheme -o $(OutDir)</Command>
+ </PreBuildEvent>
+ <Lib>
+ <OutputFile>$(OutDir)\lib\$(TargetName)$(TargetExt)</OutputFile>
+ <AdditionalDependencies>Ws2_32.lib;libevent.lib;libeay32.lib;ssleay32.lib;zlibwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>..\..\openssl\lib;..\..\zlib\contrib\vstudio\vc11\x86\ZlibStatReleaseWithoutAsm\;..\..\zlib\contrib\vstudio\vc11\x86\ZlibDllReleaseWithoutAsm\;..\..\libevent\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Lib>
+ <ProjectReference />
+ <ProjectReference>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_LIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <DebugInformationFormat>None</DebugInformationFormat>
+ <CompileAs>CompileAsC</CompileAs>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ <Lib>
+ <OutputFile>$(OutDir)\lib\$(TargetName)$(TargetExt)</OutputFile>
+ </Lib>
+ <PreBuildEvent>
+ <Command>config.bat --gen-config --gen-scheme -o $(OutDir)</Command>
+ </PreBuildEvent>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+ <Target Name="AfterClean">
+ <Delete Files="..\..\config.h" ContinueOnError="true" />
+ <RemoveDir Directories="..\..\auto\" />
+ </Target>
+</Project>
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.filters b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.filters new file mode 100644 index 0000000000..0e031a039e --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.filters @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + <Filter Include="Source Files\auto"> + <UniqueIdentifier>{22d3d7ed-cbc2-49e1-b516-b0049e61afa7}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\auto.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\event-old.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\mtproto-client.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\mtproto-common.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\mtproto-utils.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\no-preview.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\queries.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-binlog.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-fetch.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-inner.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-layout.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-methods-in.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-net.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-net-inner.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-structures.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tgl-timers.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tg-mime-types.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tools.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\tree.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\updates.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\binlog.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\mime-types.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\mtproto-client.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\mtproto-common.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\mtproto-utils.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\queries.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\structures.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tgl.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tgl-net.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tgl-timers.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tg-mime-types.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\tools.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\updates.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-autocomplete.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-fetch.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-fetch-ds.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-free-ds.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-print-ds.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-skip.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-store.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-store-ds.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + <ClCompile Include="..\..\auto\auto-types.c"> + <Filter>Source Files\auto</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.user b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.user new file mode 100644 index 0000000000..6fb136bf0a --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/tgl.vcxproj.user @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup />
+</Project>
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/wingetopt.c b/protocols/Telegram/tgl/contrib/vs/wingetopt.c new file mode 100644 index 0000000000..09dac17a4f --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/wingetopt.c @@ -0,0 +1,82 @@ +/* +POSIX getopt for Windows + +AT&T Public License + +Code given out at the 1985 UNIFORUM conference in Dallas. +*/ + +#ifndef __GNUC__ + +#include "wingetopt.h" +#include <stdio.h> +#include <string.h> + +#ifndef NULL +#define NULL 0 +#endif +#define EOF (-1) +#define ERR(s, c) if(opterr){\ + char errbuf[2];\ + errbuf[0] = c; errbuf[1] = '\n';\ + fputs(argv[0], stderr);\ + fputs(s, stderr);\ + fputc(c, stderr);} +//(void) write(2, argv[0], (unsigned)strlen(argv[0]));\ + //(void) write(2, s, (unsigned)strlen(s));\ + //(void) write(2, errbuf, 2);} + +int opterr = 1; +int optind = 1; +int optopt; +char *optarg; + +int +getopt(argc, argv, opts) +int argc; +char **argv, *opts; +{ + static int sp = 1; + register int c; + register char *cp; + + if (sp == 1) + if (optind >= argc || + argv[optind][0] != '-' || argv[optind][1] == '\0') + return(EOF); + else if (strcmp(argv[optind], "--") == (int)NULL) { + optind++; + return(EOF); + } + optopt = c = argv[optind][sp]; + if (c == ':' || (cp = strchr(opts, c)) == NULL) { + ERR(": illegal option -- ", c); + if (argv[optind][++sp] == '\0') { + optind++; + sp = 1; + } + return('?'); + } + if (*++cp == ':') { + if (argv[optind][sp + 1] != '\0') + optarg = &argv[optind++][sp + 1]; + else if (++optind >= argc) { + ERR(": option requires an argument -- ", c); + sp = 1; + return('?'); + } + else + optarg = argv[optind++]; + sp = 1; + } + else { + if (argv[optind][++sp] == '\0') { + sp = 1; + optind++; + } + optarg = NULL; + } + return(c); +} + +#endif /* __GNUC__ */
\ No newline at end of file diff --git a/protocols/Telegram/tgl/contrib/vs/wingetopt.h b/protocols/Telegram/tgl/contrib/vs/wingetopt.h new file mode 100644 index 0000000000..4372c66011 --- /dev/null +++ b/protocols/Telegram/tgl/contrib/vs/wingetopt.h @@ -0,0 +1,32 @@ +/* +POSIX getopt for Windows + +AT&T Public License + +Code given out at the 1985 UNIFORUM conference in Dallas. +*/ + +#ifdef __GNUC__ +#include <getopt.h> +#endif +#ifndef __GNUC__ + +#ifndef _WINGETOPT_H_ +#define _WINGETOPT_H_ + +#ifdef __cplusplus +extern "C" { +#endif + + extern int opterr; + extern int optind; + extern int optopt; + extern char *optarg; + extern int getopt(int argc, char **argv, char *opts); + +#ifdef __cplusplus +} +#endif + +#endif /* _GETOPT_H_ */ +#endif /* __GNUC__ */
\ No newline at end of file |