Commit fa9acd7679f8b3a4fdac465e7a85af08b5a4f252

Authored by oldfaber
Committed by Stéphane Raimbault
1 parent bb123c65

Add Visual Studio 2008 project files.

Add standalone Makefiles for the modbus DLL and tests, using the modbus DLL.
src/win32/Make-tests 0 → 100644
  1 +# Windows makefile
  2 +# --
  3 +# use mingw make
  4 +# Get make-3.82-5-mingw32-bin.tar.lzma from
  5 +# http://sourceforge.net/projects/mingw/files/MinGW/Extension/make/make-3.82-mingw32/
  6 +# --
  7 +# Set CC=gcc or CC=cl for the pre-defined compilers
  8 +# before using this Makefile
  9 +# --
  10 +# Compile and link the bandwidth and random tests.
  11 +# Build modbus.dll and the import library before building the tests
  12 +# modbus.lib/libmodbus.a (the import library) should be in this directory
  13 +# modbus.dll should be in this directory or in path
  14 +
  15 +INCLUDES:=-I../.. -I.. -I.
  16 +
  17 +ifeq ($(CC),cl)
  18 +DEFS+=-D_CRT_SECURE_NO_DEPRECATE=1 -D_CRT_NONSTDC_NO_DEPRECATE=1
  19 +CFLAGS=-Zi -W3 -MT -ID:/include/msvc_std
  20 +LDOPTS=-link -incremental:NO
  21 +LDLIBS=-Fe$@ ws2_32.lib modbus.lib $(LDOPTS)
  22 +RES:=res
  23 +RCOUT=
  24 +endif
  25 +
  26 +ifeq ($(CC),gcc)
  27 +CFLAGS=-g -Wall -O -static -static-libgcc
  28 +LDLIBS=-o$@ -lws2_32 -luser32 -L. -lmodbus
  29 +LDOPTS=
  30 +RES:=o
  31 +RCOUT=-o$@
  32 +endif
  33 +
  34 +CFLAGS+=-DHAVE_CONFIG_H $(DEFS) $(INCLUDES)
  35 +
  36 +.SUFFIXES:
  37 +.SUFFIXES: .c .rc .$(RES) .$(oo)
  38 +
  39 +# pattern rule for resources
  40 +%.$(RES) : %.rc
  41 + $(RC) $< $(RCOUT)
  42 +
  43 +vpath %.c ../../tests
  44 +vpath %.h ../src
  45 +
  46 +all: random-test-client random-test-server bandwidth-client bandwidth-server-one
  47 +
  48 +random-test-client: random-test-client.c
  49 + $(LINK.c) $^ $(LDLIBS)
  50 +
  51 +random-test-server: random-test-server.c
  52 + $(LINK.c) $^ $(LDLIBS)
  53 +
  54 +bandwidth-server-one: bandwidth-server-one.c
  55 + $(LINK.c) $^ $(LDLIBS)
  56 +
  57 +bandwidth-client: bandwidth-client.c
  58 + $(LINK.c) $^ $(LDLIBS)
  59 +
  60 +
  61 +clean:
  62 + -@cmd "/c del /Q /S $(OBJS) *.o *.obj *.exe *.pdb *.ilk *.ncb *.res *.dll *.exp *.lib *.ncb *.a *.map *.asm" > NUL: 2>&1
... ...
src/win32/Readme-win32 0 → 100644
  1 +
  2 +Intro
  3 +-----
  4 +
  5 +This directory contains the project file for Visual
  6 +Studio 2008 to build a modbus.dll.
  7 +
  8 +The project file searches for D:/include/msvc_std to
  9 +find stdint.h. See ../../README.rst
  10 +
  11 +config.h and modbus-version.h were generated using
  12 +a Windows native experimental port of zsh and Microsoft cl.
  13 +
  14 +Please note that modbus.dll.manifest hardcodes
  15 +the version number !
  16 +
  17 +
  18 +
  19 +TODO
  20 +----
  21 +
  22 +Fix the ugly need to have config.h and modbus-version.h
  23 +in this directory.
  24 +
  25 +
  26 +oldfaber
... ...
src/win32/modbus-9.sln 0 → 100644
  1 +
  2 +Microsoft Visual Studio Solution File, Format Version 10.00
  3 +# Visual C++ Express 2008
  4 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "modbus", "modbus.vcproj", "{498E0845-C7F4-438B-8EDE-EF7FC9A74430}"
  5 +EndProject
  6 +Global
  7 + GlobalSection(SolutionConfigurationPlatforms) = preSolution
  8 + Debug|Win32 = Debug|Win32
  9 + Release|Win32 = Release|Win32
  10 + EndGlobalSection
  11 + GlobalSection(ProjectConfigurationPlatforms) = postSolution
  12 + {498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|Win32.ActiveCfg = Debug|Win32
  13 + {498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Debug|Win32.Build.0 = Debug|Win32
  14 + {498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|Win32.ActiveCfg = Release|Win32
  15 + {498E0845-C7F4-438B-8EDE-EF7FC9A74430}.Release|Win32.Build.0 = Release|Win32
  16 + EndGlobalSection
  17 + GlobalSection(SolutionProperties) = preSolution
  18 + HideSolutionNode = FALSE
  19 + EndGlobalSection
  20 +EndGlobal
... ...
src/win32/modbus.dll.manifest 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2 +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3 +<assemblyIdentity version="3.1.0.1" processorArchitecture="*" name="modbus"/>
  4 +<description>Zsh shell</description>
  5 + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  6 + <security>
  7 + <requestedPrivileges>
  8 + <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
  9 + </requestedPrivileges>
  10 + </security>
  11 + </trustInfo>
  12 + <dependency>
  13 + </dependency>
  14 +</assembly>
... ...
src/win32/modbus.rc 0 → 100644
  1 +#define WIN32_LEAN_AND_MEAN
  2 +#include <windows.h>
  3 +#include "config.h"
  4 +#include "modbus-version.h"
  5 +
  6 +#define VERSTRING PACKAGE_VERSION
  7 +
  8 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
  9 +VS_VERSION_INFO VERSIONINFO
  10 +FILEVERSION LIBMODBUS_VERSION_MAJOR, LIBMODBUS_VERSION_MINOR, LIBMODBUS_VERSION_MICRO, 2
  11 +PRODUCTVERSION LIBMODBUS_VERSION_MAJOR, LIBMODBUS_VERSION_MINOR, LIBMODBUS_VERSION_MICRO, 2
  12 +FILEOS VOS_NT_WINDOWS32
  13 +FILETYPE VFT_APP
  14 +{
  15 + BLOCK "StringFileInfo"
  16 + {
  17 + BLOCK "000004E4"
  18 + {
  19 + VALUE "CompanyName", "\x0"
  20 + VALUE "FileDescription", "libmodbus DLL\x0"
  21 +#if defined(DEBUG) || defined(W32DEBUG)
  22 +# define XDBG " (debug)"
  23 +#else
  24 +# define XDBG ""
  25 +#endif
  26 +#if defined(__MINGW32__) && !defined(__MINGW64__)
  27 + VALUE "FileVersion", VERSTRING " (gcc)" XDBG "\x0"
  28 +#endif
  29 +#if defined(__MINGW64__)
  30 + VALUE "FileVersion", VERSTRING " (gcc64)" XDBG "\x0"
  31 +#endif
  32 +#if defined(_MSC_VER)
  33 +# if defined(MSC64)
  34 + VALUE "FileVersion", VERSTRING " (cl64)" XDBG "\x0"
  35 +# else
  36 + VALUE "FileVersion", VERSTRING " (cl)" XDBG "\x0"
  37 +# endif
  38 +#endif
  39 + VALUE "InternalName", "modbus.dll\x0"
  40 + VALUE "LegalCopyright", "© See libmodbus.org\x0"
  41 + VALUE "OriginalFilename", "modbus.dll\x0"
  42 + VALUE "ProductName", "Modbus\x0"
  43 + }
  44 + }
  45 + BLOCK "VarFileInfo"
  46 + {
  47 + VALUE "Translation", 0x0, 1252
  48 + }
  49 +}
  50 +
  51 +// Manifest
  52 +#if (_MSC_VER >= 1400)
  53 +// CAVEAT: the manifest has a version string THAT MUST MATCH the DLL version
  54 +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "modbus.dll.manifest"
  55 +#endif
... ...
src/win32/modbus.vcproj 0 → 100644
  1 +<?xml version="1.0" encoding="Windows-1252"?>
  2 +<VisualStudioProject
  3 + ProjectType="Visual C++"
  4 + Version="9,00"
  5 + Name="modbus"
  6 + ProjectGUID="{498E0845-C7F4-438B-8EDE-EF7FC9A74430}"
  7 + RootNamespace="modbus"
  8 + Keyword="Win32Proj"
  9 + TargetFrameworkVersion="131072"
  10 + >
  11 + <Platforms>
  12 + <Platform
  13 + Name="Win32"
  14 + />
  15 + <Platform
  16 + Name="x64"
  17 + />
  18 + </Platforms>
  19 + <ToolFiles>
  20 + </ToolFiles>
  21 + <Configurations>
  22 + <Configuration
  23 + Name="Debug|Win32"
  24 + OutputDirectory="$(SolutionDir)"
  25 + IntermediateDirectory="$(ConfigurationName)"
  26 + ConfigurationType="2"
  27 + CharacterSet="2"
  28 + EnableManagedIncrementalBuild="0"
  29 + >
  30 + <Tool
  31 + Name="VCPreBuildEventTool"
  32 + CommandLine=""
  33 + />
  34 + <Tool
  35 + Name="VCCustomBuildTool"
  36 + Description=""
  37 + CommandLine=""
  38 + AdditionalDependencies=""
  39 + Outputs=""
  40 + />
  41 + <Tool
  42 + Name="VCXMLDataGeneratorTool"
  43 + />
  44 + <Tool
  45 + Name="VCWebServiceProxyGeneratorTool"
  46 + />
  47 + <Tool
  48 + Name="VCMIDLTool"
  49 + />
  50 + <Tool
  51 + Name="VCCLCompilerTool"
  52 + Optimization="0"
  53 + EnableIntrinsicFunctions="true"
  54 + WholeProgramOptimization="false"
  55 + AdditionalIncludeDirectories="..\src;..;.;D:/include/msvc_std"
  56 + PreprocessorDefinitions="HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1"
  57 + MinimalRebuild="false"
  58 + ExceptionHandling="0"
  59 + BasicRuntimeChecks="2"
  60 + RuntimeLibrary="1"
  61 + FloatingPointModel="2"
  62 + UsePrecompiledHeader="0"
  63 + WarningLevel="3"
  64 + DebugInformationFormat="3"
  65 + CompileAs="1"
  66 + />
  67 + <Tool
  68 + Name="VCManagedResourceCompilerTool"
  69 + />
  70 + <Tool
  71 + Name="VCResourceCompilerTool"
  72 + PreprocessorDefinitions="_MSC_VER"
  73 + ResourceOutputFileName="$(SolutionDir)/modbus.res"
  74 + />
  75 + <Tool
  76 + Name="VCPreLinkEventTool"
  77 + />
  78 + <Tool
  79 + Name="VCLinkerTool"
  80 + AdditionalDependencies="ws2_32.lib"
  81 + Version="1.0.0"
  82 + LinkIncremental="1"
  83 + AdditionalLibraryDirectories=""
  84 + GenerateManifest="true"
  85 + GenerateDebugInformation="true"
  86 + GenerateMapFile="true"
  87 + SubSystem="1"
  88 + RandomizedBaseAddress="0"
  89 + DataExecutionPrevention="0"
  90 + TargetMachine="1"
  91 + />
  92 + <Tool
  93 + Name="VCALinkTool"
  94 + />
  95 + <Tool
  96 + Name="VCManifestTool"
  97 + SuppressStartupBanner="true"
  98 + />
  99 + <Tool
  100 + Name="VCXDCMakeTool"
  101 + />
  102 + <Tool
  103 + Name="VCBscMakeTool"
  104 + />
  105 + <Tool
  106 + Name="VCFxCopTool"
  107 + />
  108 + <Tool
  109 + Name="VCAppVerifierTool"
  110 + />
  111 + <Tool
  112 + Name="VCPostBuildEventTool"
  113 + />
  114 + </Configuration>
  115 + <Configuration
  116 + Name="Release|Win32"
  117 + OutputDirectory="$(SolutionDir)"
  118 + IntermediateDirectory="$(ConfigurationName)"
  119 + ConfigurationType="2"
  120 + CharacterSet="2"
  121 + WholeProgramOptimization="1"
  122 + EnableManagedIncrementalBuild="0"
  123 + >
  124 + <Tool
  125 + Name="VCPreBuildEventTool"
  126 + CommandLine=""
  127 + />
  128 + <Tool
  129 + Name="VCCustomBuildTool"
  130 + Description=""
  131 + CommandLine=""
  132 + AdditionalDependencies=""
  133 + Outputs=""
  134 + />
  135 + <Tool
  136 + Name="VCXMLDataGeneratorTool"
  137 + />
  138 + <Tool
  139 + Name="VCWebServiceProxyGeneratorTool"
  140 + />
  141 + <Tool
  142 + Name="VCMIDLTool"
  143 + />
  144 + <Tool
  145 + Name="VCCLCompilerTool"
  146 + Optimization="2"
  147 + EnableIntrinsicFunctions="true"
  148 + WholeProgramOptimization="false"
  149 + AdditionalIncludeDirectories="..\src;..;.;D:/include/msvc_std"
  150 + PreprocessorDefinitions="HAVE_CONFIG_H;DLLBUILD;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NONSTDC_NO_DEPRECATE=1"
  151 + ExceptionHandling="0"
  152 + RuntimeLibrary="0"
  153 + EnableFunctionLevelLinking="false"
  154 + FloatingPointModel="2"
  155 + UsePrecompiledHeader="0"
  156 + WarningLevel="3"
  157 + DebugInformationFormat="0"
  158 + CompileAs="1"
  159 + />
  160 + <Tool
  161 + Name="VCManagedResourceCompilerTool"
  162 + />
  163 + <Tool
  164 + Name="VCResourceCompilerTool"
  165 + />
  166 + <Tool
  167 + Name="VCPreLinkEventTool"
  168 + />
  169 + <Tool
  170 + Name="VCLinkerTool"
  171 + AdditionalOptions=""
  172 + AdditionalDependencies="ws2_32.lib"
  173 + LinkIncremental="0"
  174 + GenerateManifest="true"
  175 + GenerateDebugInformation="true"
  176 + SubSystem="1"
  177 + StackReserveSize="1048576"
  178 + StackCommitSize="524288"
  179 + OptimizeReferences="2"
  180 + EnableCOMDATFolding="2"
  181 + LinkTimeCodeGeneration="0"
  182 + EntryPointSymbol=""
  183 + RandomizedBaseAddress="1"
  184 + DataExecutionPrevention="0"
  185 + TargetMachine="1"
  186 + />
  187 + <Tool
  188 + Name="VCALinkTool"
  189 + />
  190 + <Tool
  191 + Name="VCManifestTool"
  192 + SuppressStartupBanner="false"
  193 + />
  194 + <Tool
  195 + Name="VCXDCMakeTool"
  196 + />
  197 + <Tool
  198 + Name="VCBscMakeTool"
  199 + />
  200 + <Tool
  201 + Name="VCFxCopTool"
  202 + />
  203 + <Tool
  204 + Name="VCAppVerifierTool"
  205 + />
  206 + <Tool
  207 + Name="VCPostBuildEventTool"
  208 + />
  209 + </Configuration>
  210 + <Configuration
  211 + Name="Debug|x64"
  212 + OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
  213 + IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
  214 + ConfigurationType="1"
  215 + CharacterSet="2"
  216 + >
  217 + <Tool
  218 + Name="VCPreBuildEventTool"
  219 + CommandLine=""
  220 + />
  221 + <Tool
  222 + Name="VCCustomBuildTool"
  223 + Description=""
  224 + CommandLine=""
  225 + AdditionalDependencies=""
  226 + Outputs=""
  227 + />
  228 + <Tool
  229 + Name="VCXMLDataGeneratorTool"
  230 + />
  231 + <Tool
  232 + Name="VCWebServiceProxyGeneratorTool"
  233 + />
  234 + <Tool
  235 + Name="VCMIDLTool"
  236 + TargetEnvironment="3"
  237 + />
  238 + <Tool
  239 + Name="VCCLCompilerTool"
  240 + Optimization="0"
  241 + WholeProgramOptimization="false"
  242 + AdditionalIncludeDirectories="$(SolutionDir)"
  243 + PreprocessorDefinitions=""
  244 + MinimalRebuild="false"
  245 + BasicRuntimeChecks="3"
  246 + RuntimeLibrary="0"
  247 + UsePrecompiledHeader="0"
  248 + WarningLevel="3"
  249 + DebugInformationFormat="3"
  250 + CompileAs="1"
  251 + DisableSpecificWarnings="4244;4267"
  252 + />
  253 + <Tool
  254 + Name="VCManagedResourceCompilerTool"
  255 + />
  256 + <Tool
  257 + Name="VCResourceCompilerTool"
  258 + />
  259 + <Tool
  260 + Name="VCPreLinkEventTool"
  261 + />
  262 + <Tool
  263 + Name="VCLinkerTool"
  264 + LinkIncremental="2"
  265 + GenerateDebugInformation="true"
  266 + SubSystem="1"
  267 + StackReserveSize="1048576"
  268 + StackCommitSize="524288"
  269 + TargetMachine="17"
  270 + />
  271 + <Tool
  272 + Name="VCALinkTool"
  273 + />
  274 + <Tool
  275 + Name="VCManifestTool"
  276 + />
  277 + <Tool
  278 + Name="VCXDCMakeTool"
  279 + />
  280 + <Tool
  281 + Name="VCBscMakeTool"
  282 + />
  283 + <Tool
  284 + Name="VCFxCopTool"
  285 + />
  286 + <Tool
  287 + Name="VCAppVerifierTool"
  288 + />
  289 + <Tool
  290 + Name="VCPostBuildEventTool"
  291 + />
  292 + </Configuration>
  293 + <Configuration
  294 + Name="Release|x64"
  295 + OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
  296 + IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
  297 + ConfigurationType="1"
  298 + CharacterSet="2"
  299 + WholeProgramOptimization="1"
  300 + >
  301 + <Tool
  302 + Name="VCPreBuildEventTool"
  303 + CommandLine=""
  304 + />
  305 + <Tool
  306 + Name="VCCustomBuildTool"
  307 + Description=""
  308 + CommandLine=""
  309 + AdditionalDependencies=""
  310 + Outputs=""
  311 + />
  312 + <Tool
  313 + Name="VCXMLDataGeneratorTool"
  314 + />
  315 + <Tool
  316 + Name="VCWebServiceProxyGeneratorTool"
  317 + />
  318 + <Tool
  319 + Name="VCMIDLTool"
  320 + TargetEnvironment="3"
  321 + />
  322 + <Tool
  323 + Name="VCCLCompilerTool"
  324 + Optimization="2"
  325 + EnableIntrinsicFunctions="true"
  326 + WholeProgramOptimization="false"
  327 + AdditionalIncludeDirectories="$(SolutionDir)"
  328 + PreprocessorDefinitions=""
  329 + RuntimeLibrary="0"
  330 + EnableFunctionLevelLinking="true"
  331 + UsePrecompiledHeader="0"
  332 + WarningLevel="3"
  333 + DebugInformationFormat="3"
  334 + CompileAs="1"
  335 + DisableSpecificWarnings="4244;4267"
  336 + />
  337 + <Tool
  338 + Name="VCManagedResourceCompilerTool"
  339 + />
  340 + <Tool
  341 + Name="VCResourceCompilerTool"
  342 + />
  343 + <Tool
  344 + Name="VCPreLinkEventTool"
  345 + />
  346 + <Tool
  347 + Name="VCLinkerTool"
  348 + LinkIncremental="1"
  349 + GenerateDebugInformation="true"
  350 + SubSystem="1"
  351 + StackReserveSize="1048576"
  352 + StackCommitSize="524288"
  353 + OptimizeReferences="2"
  354 + EnableCOMDATFolding="2"
  355 + LinkTimeCodeGeneration="0"
  356 + TargetMachine="17"
  357 + />
  358 + <Tool
  359 + Name="VCALinkTool"
  360 + />
  361 + <Tool
  362 + Name="VCManifestTool"
  363 + />
  364 + <Tool
  365 + Name="VCXDCMakeTool"
  366 + />
  367 + <Tool
  368 + Name="VCBscMakeTool"
  369 + />
  370 + <Tool
  371 + Name="VCFxCopTool"
  372 + />
  373 + <Tool
  374 + Name="VCAppVerifierTool"
  375 + />
  376 + <Tool
  377 + Name="VCPostBuildEventTool"
  378 + />
  379 + </Configuration>
  380 + </Configurations>
  381 + <References>
  382 + </References>
  383 + <Files>
  384 + <Filter
  385 + Name="Source Files"
  386 + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
  387 + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
  388 + >
  389 + <File
  390 + RelativePath="..\modbus-data.c"
  391 + >
  392 + </File>
  393 + <File
  394 + RelativePath="..\modbus-rtu.c"
  395 + >
  396 + </File>
  397 + <File
  398 + RelativePath="..\modbus-tcp.c"
  399 + >
  400 + </File>
  401 + <File
  402 + RelativePath="..\modbus.c"
  403 + >
  404 + </File>
  405 + </Filter>
  406 + <Filter
  407 + Name="Header Files"
  408 + Filter="h;hpp;hxx;hm;inl;inc;xsd"
  409 + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
  410 + >
  411 + <File
  412 + RelativePath="config.h"
  413 + >
  414 + </File>
  415 + <File
  416 + RelativePath="..\modbus-private.h"
  417 + >
  418 + </File>
  419 + <File
  420 + RelativePath="..\modbus-rtu-private.h"
  421 + >
  422 + </File>
  423 + <File
  424 + RelativePath="..\modbus-rtu.h"
  425 + >
  426 + </File>
  427 + <File
  428 + RelativePath="..\modbus-tcp-private.h"
  429 + >
  430 + </File>
  431 + <File
  432 + RelativePath="..\modbus-tcp.h"
  433 + >
  434 + </File>
  435 + <File
  436 + RelativePath="modbus-version.h"
  437 + >
  438 + </File>
  439 + <File
  440 + RelativePath="..\modbus.h"
  441 + >
  442 + </File>
  443 + </Filter>
  444 + <Filter
  445 + Name="Resource Files"
  446 + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
  447 + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
  448 + >
  449 + <File
  450 + RelativePath=".\modbus.rc"
  451 + >
  452 + </File>
  453 + </Filter>
  454 + </Files>
  455 + <Globals>
  456 + </Globals>
  457 +</VisualStudioProject>
... ...