aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/c-ares/README.msvc
blob: dfb48a06fa2f3da7df8a74003330e177f214928b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
 
 
                          ___       __ _ _ __ ___  ___  
                         / __| ___ / _` | '__/ _ \/ __| 
                        | (_  |___| (_| | | |  __/\__ \ 
                         \___|     \__,_|_|  \___||___/ 
 
 
                How to build c-ares using MSVC or Visual Studio 
               ================================================= 
 
 
 
  How to build using MSVC from the command line 
  --------------------------------------------- 
 
  Open a command prompt window and ensure that the environment is properly 
  set up in order to use MSVC or Visual Studio compiler tools. 
 
  Change to c-ares source folder where Makefile.msvc file is located and run: 
 
  > nmake -f Makefile.msvc 
 
  This will build all c-ares libraries as well as three sample programs. 
 
  Once the above command has finished a new folder named MSVCXX will exist 
  below the folder where makefile.msvc is found. The name of the folder 
  depends on the MSVC compiler version being used to build c-ares. 
 
  Below the MSVCXX folder there will exist four folders named 'cares', 
  'ahost', 'acountry', and 'adig'. The 'cares' folder is the one that 
  holds the c-ares libraries you have just generated, the other three 
  hold sample programs that use the libraries. 
 
  The above command builds four versions of the c-ares library, dynamic 
  and static versions and each one in release and debug flavours. Each 
  of these is found in folders named dll-release, dll-debug, lib-release, 
  and lib-debug, which hang from the 'cares' folder mentioned above. Each 
  sample program also has folders with the same names to reflect which 
  library version it is using. 
 
 
  How to install using MSVC from the command line 
  ----------------------------------------------- 
 
  In order to allow easy usage of c-ares libraries it may be convenient to 
  install c-ares libraries and header files to a common subdirectory tree. 
 
  Once that c-ares libraries have been built using procedure described above, 
  use same command prompt window to define environment variable INSTALL_DIR 
  to designate the top subdirectory where installation of c-ares libraries and 
  header files will be done. 
 
  > set INSTALL_DIR=c:\c-ares 
 
  Afterwards, run following command to actually perform the installation: 
 
  > nmake -f Makefile.msvc install 
 
  Installation procedure will copy c-ares libraries to subdirectory 'lib' and 
  c-ares header files to subdirectory 'include' below the INSTALL_DIR subdir. 
 
  When environment variable INSTALL_DIR is not defined, installation is done 
  to c-ares source folder where Makefile.msvc file is located. 
 
 
  How to build using Visual Studio 6 IDE 
  -------------------------------------- 
 
  A VC++ 6.0 reference workspace (vc6aws.dsw) is available within the 'vc' 
  folder to allow proper building of the library and sample programs. 
 
  1) Open the vc6aws.dsw workspace with MSVC6's IDE. 
  2) Select 'Build' from top menu. 
  3) Select 'Batch Build' from dropdown menu. 
  4) Make sure that the sixteen project configurations are 'checked'. 
  5) Click on the 'Build' button. 
  6) Once the sixteen project configurations are built you are done. 
 
  Dynamic and static c-ares libraries are built in debug and release flavours, 
  and can be located each one in its own subdirectory, dll-debug, dll-release, 
  lib-debug and lib-release, all of them below the 'vc\cares' subdirectory. 
 
  In the same way four executable versions of each sample program are built, 
  each using its respective library. The resulting sample executables are 
  located in its own subdirectory, dll-debug, dll-release, lib-debug and 
  lib-release, below the 'vc\acountry', 'vc\adig' and 'vc\ahost'folders. 
 
  These reference VC++ 6.0 configurations are generated using the dynamic CRT. 
 
 
  How to build using Visual Studio 2003 or newer IDE 
  -------------------------------------------------- 
 
  First you have to convert the VC++ 6.0 reference workspace and project files 
  to the Visual Studio IDE version you are using, following next steps: 
 
  1) Open vc\vc6aws.dsw with VS20XX. 
  2) Allow VS20XX to update all projects and workspaces. 
  3) Save ALL and close VS20XX. 
  4) Open vc\vc6aws.sln with VS20XX. 
  5) Select batch build, check 'all' projects and click 'build' button. 
 
  Same comments relative to generated files and folders as done above for 
  Visual Studio 6 IDE apply here. 
 
 
  Relationship between c-ares library file names and versions 
  ----------------------------------------------------------- 
 
  c-ares static release library version files: 
 
      libcares.lib -> static release library 
 
  c-ares static debug library version files: 
 
      libcaresd.lib -> static debug library 
 
  c-ares dynamic release library version files: 
 
      cares.dll -> dynamic release library 
      cares.lib -> import library for the dynamic release library 
      cares.exp -> export file for the dynamic release library 
 
  c-ares dynamic debug library version files: 
 
      caresd.dll -> dynamic debug library 
      caresd.lib -> import library for the dynamic debug library 
      caresd.exp -> export file for the dynamic debug library 
      caresd.pdb -> debug symbol file for the dynamic debug library 
 
 
  How to use c-ares static libraries 
  ---------------------------------- 
 
  When using the c-ares static library in your program, you will have to 
  define preprocessor symbol CARES_STATICLIB while building your program, 
  otherwise you will get errors at linkage stage. 
 
 
Have Fun!