From 7bb683724e008be5a1720e017708fac35a31470e Mon Sep 17 00:00:00 2001 From: Dongsheng Song Date: Sat, 4 May 2013 13:44:58 +0800 Subject: [PATCH] Add win32/Makefile.msc and related files --- win32/Makefile.msc | 124 +++++++++++++++++++++++++++++++++++++++++++++ win32/librrd-4.def | 68 +++++++++++++++++++++++++ win32/librrd-4.exp | Bin 0 -> 7327 bytes win32/librrd-4.rc | 35 +++++++++++++ win32/rrd_config.h | 91 +++++++++++++++++++++++++++++++++ win32/rrdcgi.rc | 34 +++++++++++++ win32/rrdtool.rc | 35 +++++++++++++ win32/rrdupdate.rc | 35 +++++++++++++ win32/uac.manifest | 10 ++++ 9 files changed, 432 insertions(+) create mode 100644 win32/Makefile.msc create mode 100644 win32/librrd-4.def create mode 100644 win32/librrd-4.exp create mode 100644 win32/librrd-4.rc create mode 100644 win32/rrd_config.h create mode 100644 win32/rrdcgi.rc create mode 100644 win32/rrdtool.rc create mode 100644 win32/rrdupdate.rc create mode 100644 win32/uac.manifest diff --git a/win32/Makefile.msc b/win32/Makefile.msc new file mode 100644 index 00000000..0936f729 --- /dev/null +++ b/win32/Makefile.msc @@ -0,0 +1,124 @@ +TOP = . +RRD_LIB_NAME=librrd-4 + +!ifndef USE_64BIT +LD_FLAGS=/RELEASE /MACHINE:X86 + +CPPFLAGS = /TP /EHsc /O2 /arch:SSE2 /Zi /Fd$(TOP)/win32/vc.pdb \ + /I $(TOP)/win32 /I $(TOP)/src \ + /I E:\var\vcs\git\osb\windows-x86-msvcrt\include \ + /I E:\var\vcs\git\osb\windows-x86-msvcrt\include\cairo \ + /I E:\var\vcs\git\osb\windows-x86-msvcrt\include\pango-1.0 \ + /I E:\var\vcs\git\osb\windows-x86-msvcrt\include\glib-2.0 \ + /I E:\var\vcs\git\osb\windows-x86-msvcrt\include\libxml2 + +THIRD_PARTY_LIB = /LIBPATH:E:\var\vcs\git\osb\windows-x86-msvcrt\lib \ + libpng.lib libxml2-2.lib \ + libglib-2.lib libgobject-2.lib \ + libpango-1.lib libpangocairo-1.lib libcairo-2.lib + +!else +LD_FLAGS=/RELEASE /MACHINE:X64 + +CPPFLAGS = /TP /EHsc /O2 /Zi /Fd$(TOP)/win32/vc.pdb \ + /I $(TOP)/win32 /I $(TOP)/src \ + /I E:\var\vcs\git\osb\windows-x64-msvcrt\include \ + /I E:\var\vcs\git\osb\windows-x64-msvcrt\include\cairo \ + /I E:\var\vcs\git\osb\windows-x64-msvcrt\include\pango-1.0 \ + /I E:\var\vcs\git\osb\windows-x64-msvcrt\include\glib-2.0 \ + /I E:\var\vcs\git\osb\windows-x64-msvcrt\include\libxml2 + +THIRD_PARTY_LIB = /LIBPATH:E:\var\vcs\git\osb\windows-x64-msvcrt\lib \ + libpng.lib libxml2-2.lib \ + libglib-2.lib libgobject-2.lib \ + libpango-1.lib libpangocairo-1.lib libcairo-2.lib +!endif + +RRD_LIB_OBJ_LIST = \ + $(TOP)/src/hash_32.obj \ + $(TOP)/src/plbasename.obj \ + $(TOP)/src/pngsize.obj \ + $(TOP)/src/rrd_create.obj \ + $(TOP)/src/rrd_diff.obj \ + $(TOP)/src/rrd_dump.obj \ + $(TOP)/src/rrd_error.obj \ + $(TOP)/src/rrd_fetch.obj \ + $(TOP)/src/rrd_first.obj \ + $(TOP)/src/rrd_flushcached.obj \ + $(TOP)/src/rrd_format.obj \ + $(TOP)/src/rrd_getopt.obj \ + $(TOP)/src/rrd_getopt1.obj \ + $(TOP)/src/rrd_gfx.obj \ + $(TOP)/src/rrd_graph.obj \ + $(TOP)/src/rrd_graph_helper.obj \ + $(TOP)/src/rrd_hw.obj \ + $(TOP)/src/rrd_hw_math.obj \ + $(TOP)/src/rrd_hw_update.obj \ + $(TOP)/src/rrd_info.obj \ + $(TOP)/src/rrd_last.obj \ + $(TOP)/src/rrd_lastupdate.obj \ + $(TOP)/src/rrd_nan_inf.obj \ + $(TOP)/src/rrd_open.obj \ + $(TOP)/src/rrd_parsetime.obj \ + $(TOP)/src/rrd_resize.obj \ + $(TOP)/src/rrd_restore.obj \ + $(TOP)/src/rrd_rpncalc.obj \ + $(TOP)/src/rrd_thread_safe_nt.obj \ + $(TOP)/src/rrd_tune.obj \ + $(TOP)/src/rrd_update.obj \ + $(TOP)/src/rrd_utils.obj \ + $(TOP)/src/rrd_version.obj \ + $(TOP)/src/rrd_xport.obj \ + $(TOP)/src/strftime.obj + +all: $(TOP)/win32/$(RRD_LIB_NAME).dll $(TOP)/win32/rrdtool.exe \ + $(TOP)/win32/rrdupdate.exe $(TOP)/win32/rrdcgi.exe + +clean: + -@del /F /Q $(TOP)\src\*.obj 2>NUL + -@del /F /Q $(TOP)\win32\*.res 2>NUL + -@del /F /Q $(TOP)\win32\*.exe 2>NUL + -@del /F /Q $(TOP)\win32\*.pdb 2>NUL + -@del /F /Q $(TOP)\win32\$(RRD_LIB_NAME).dll 2>NUL + -@del /F /Q $(TOP)\win32\$(RRD_LIB_NAME).exp 2>NUL + -@del /F /Q $(TOP)\win32\$(RRD_LIB_NAME).lib 2>NUL + +$(TOP)/win32/$(RRD_LIB_NAME).dll $(TOP)/win32/$(RRD_LIB_NAME).lib: \ + $(TOP)/win32/$(RRD_LIB_NAME).def $(TOP)/win32/$(RRD_LIB_NAME).res \ + $(RRD_LIB_OBJ_LIST) + cl /nologo /MT /LD /Zi /Fe$(TOP)/win32/$(RRD_LIB_NAME).dll \ + /Fd$(TOP)/win32/$(RRD_LIB_NAME).pdb \ + $(TOP)/win32/$(RRD_LIB_NAME).def $(TOP)/win32/$(RRD_LIB_NAME).res \ + $(RRD_LIB_OBJ_LIST) /link $(THIRD_PARTY_LIB) $(LD_FLAGS) + +$(TOP)/win32/rrdtool.exe: $(TOP)/win32/rrdtool.res $(TOP)/src/rrd_tool.obj \ + $(TOP)/win32/$(RRD_LIB_NAME).lib + cl /nologo /MT /Zi /Fe$@ $(TOP)/win32/rrdtool.res $(TOP)/src/rrd_tool.obj \ + $(TOP)/win32/$(RRD_LIB_NAME).lib /link $(LD_FLAGS) +#Just waiting for antivirus program to finished check tasks + -@ping 1.1.1.1 -n 1 -w 1000 > NUL + -mt -manifest $(TOP)/win32/uac.manifest -outputresource:$(TOP)/win32/rrdtool.exe;#1 + +$(TOP)/win32/rrdupdate.exe: $(TOP)/win32/rrdupdate.res $(TOP)/src/rrdupdate.obj \ + $(TOP)/src/plbasename.obj $(TOP)/win32/$(RRD_LIB_NAME).lib + cl /nologo /MT /Zi /Fe$@ $(TOP)/win32/rrdupdate.res $(TOP)/src/rrdupdate.obj \ + $(TOP)/src/plbasename.obj $(TOP)/win32/$(RRD_LIB_NAME).lib /link $(LD_FLAGS) +#Just waiting for antivirus program to finished check tasks + -@ping 1.1.1.1 -n 1 -w 1000 > NUL + -mt -manifest $(TOP)/win32/uac.manifest -outputresource:$(TOP)/win32/rrdupdate.exe;#1 + +$(TOP)/win32/rrdcgi.exe: $(TOP)/win32/rrdcgi.res $(TOP)/src/rrd_cgi.obj \ + $(TOP)/src/rrd_getopt.obj $(TOP)/src/rrd_getopt1.obj \ + $(TOP)/win32/$(RRD_LIB_NAME).lib + cl /nologo /MT /Zi /Fe$@ $(TOP)/win32/rrdcgi.res $(TOP)/src/rrd_cgi.obj \ + $(TOP)/src/rrd_getopt.obj $(TOP)/src/rrd_getopt1.obj \ + $(TOP)/win32/$(RRD_LIB_NAME).lib /link $(LD_FLAGS) +#Just waiting for antivirus program to finished check tasks + -@ping 1.1.1.1 -n 1 -w 1000 > NUL + -mt -manifest $(TOP)/win32/uac.manifest -outputresource:$(TOP)/win32/rrdcgi.exe;#1 + +{$(TOP)/src}.c{$(TOP)/src}.obj: + cl /nologo /MT /DWIN32 /c $(CPPFLAGS) /Fo$@ $< + +{$(TOP)/win32}.rc{$(TOP)/win32}.res: + rc /nologo /fo$@ $< diff --git a/win32/librrd-4.def b/win32/librrd-4.def new file mode 100644 index 00000000..8a55892b --- /dev/null +++ b/win32/librrd-4.def @@ -0,0 +1,68 @@ +LIBRARY "librrd-4.dll" +EXPORTS +rrd_add_ptr +rrd_add_strdup +rrd_clear_error +rrd_close +rrd_create +rrd_create_r +rrd_dontneed +rrd_dump +rrd_dump_cb_r +rrd_dump_r +rrd_fetch +rrd_fetch_r +rrd_first +rrd_first_r +rrd_flush +rrd_flushcached +rrd_free +rrd_free_context +rrd_freemem +rrd_free_ptrs +rrd_get_context +rrd_get_error +rrd_graph +rrd_graph_v +rrd_info +rrd_info_free +rrd_info_print +rrd_info_push +rrd_info_r +rrd_init +rrd_last +rrd_last_r +rrd_lastupdate +rrd_lastupdate_r +rrd_lock +rrd_mkdir_p +rrd_new_context +rrd_open +rrd_parsetime +rrd_proc_start_end +rrd_random +rrd_read +rrd_resize +rrd_restore +rrd_seek +rrd_set_error +rrd_set_to_DINF +rrd_set_to_DNAN +rrd_strerror +rrd_strversion +rrd_tell +rrd_test_error +rrd_tune +rrd_update +rrd_update_r +rrd_update_v +rrd_version +rrd_write +rrd_xport +;rrdc_connect +;rrdc_is_connected +;rrdc_disconnect +;rrdc_flush +;rrdc_stats_free +;rrdc_stats_get +;rrdc_update diff --git a/win32/librrd-4.exp b/win32/librrd-4.exp new file mode 100644 index 0000000000000000000000000000000000000000..016ef3cceaf856b0a93e9f024200e2efb4ec7cee GIT binary patch literal 7327 zc-rll`)?dq701u|5yyErwqwUm(!?9bN$ezE@B85;?EN&?gczs%57P{-@Xp@C^QZx0A=0 z@p}UQ#j3`9YjNy?H?M00!1YZaeNI5{y|JooRGd}AV|U>9#a?+HwDAvdEFOyB_fGfw z|Ih!zCxW*@J9I!NY=AD<2;Hy=Hp3R!3O%q5dZ7>cVLJ@KAnbr47>1p&3wGoEvc)KoU}rh74pO2YD#KG}O#_+pbQgW7S#> zP?gHnYN_GazHT~pwbh_urDl}vl40AH?T)Rc!OAwuPFR+BM%Ai2b;GFgptaKQMX56H z%@HG(3x-o!3Y14pyXgeVqqSCZDNvPiWy$qfunof(r3xN`vF-!_Pp;{YR*V(Wi-sf3 z6yxAT7wvLmDNvMd$8^tM}- zWfCjPRnso;3G8te4b9tTXI}tdG+No zVLiug$OcGNvCgp@vO!WySRZ6JWIIUJu%2f(WJ9DHSTC>}vSCsV){E?hY$vI8tPimp zvR$Oad-`E^L$;gL=dfO4w+O#syWlCTkFXoEJ)}O5^<(UYY%eMCZhw^Bkd2V~GS-i? z8?q>=XGJf-ZpikL`YP5>up6>bQeVgVNp?fFpVT+7me>v17^!bzeT?0Z9U%1`(F3p> zvV)|qW1VL=WQRz7A8Uo(kd2f20oE$JA)6re5>|uVkR2xVW2_78hU^HbpJH8PH)Kai z-Nd@YZpbD{{T!>wZpdP!UdQ?=c0)Er>J6;R?1n5(>Q`86?1n5s>epCT*bP~d)bFs? z*$r8W)Z17sc0-mX^(U+ic0-mS^)A*=vm3H3srRtj?1n5y>aSRv?1n5)>K0aq-H;VX z{S#}8-H=U_`WMz!c8hR#)I_J{Rv_PHM5>dPWf+fW4(cw^jKe)`{z{%<2 zoNeLjZzX!htQpPd_xo~T^dL2T;+SFq@h-hMtEn*d+CZ@( zu5J+hp!ge1_#3>&P%L{gM7@4a97xLJ)GCUZ>45k>qnMfTxo956*=9ZBUPj@blbQQm z$SZV}R;J)l?|{U;KJ7v7GzGfTL)>!G`()V7@x77Z^H<+||K?BnGpQF|{`ToHyuaQD zep~*RCvTCS?!_RZ84K{2AH5u%IyEyBojUi>#p%&-ej7beu~r%}vwH2-*WmVT@dgP0 zXGVnH3C+v1WxSJMwap{;Vne*osEzOl&k{|rN7l~SRqmphjLpXJlYl1`l7ufQBn4L$ zl7<%)l7W{Ll7&|kl7lxCl84_bqyT@GNg@un6q1133Q0nDyG&9rsE{;_C?o?%6q1FE zLUM3gA$gcpNC8SRNycGCAqjX~AxZdxLQ-%=A!+!gLNf5YLbC8fh2-F-Lh|sYLJIH) znWW6A$th7^*4 zQH5k-N+CHorjR_`r;q}i_X)TmTmFB}K8@_tNKzxmHF8!Xmo#E%#L~zU8hKhHU(v`l zjXbZB8yfkUM&8oM+Zy@1Mj{cF^k`&6BQcE>G;&5Ga~dgW#L~zU8hKhH&uZkVM!u(! z8yb0CBX4Qsj~cn9kqZ!&uC1y>hTD})sAfSe1BS9+IP=L_PtJHjwo@`)ILn1HoRr-{nN7-S zp^T=e#SK~@SfQaBr_nMlt +#include "rrd_config.h" +VS_VERSION_INFO VERSIONINFO + FILEVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + PRODUCTVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "RRDtool is available under the terms of the GNU General Public License V2 or later" + VALUE "CompanyName", "The RRDtool Project, http://oss.oetiker.ch/rrdtool/" + VALUE "LegalCopyright", "Copyright (c) 1998-2013 Tobias Oetiker" + VALUE "FileDescription", "time-series data storage and display system" + VALUE "ProductName", "time-series data storage and display system" + VALUE "FileVersion", PACKAGE_VERSION + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "OriginalFilename", "librrd-4.dll" + VALUE "InternalName", "librrd-4.dll" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x04b0 + END +END diff --git a/win32/rrd_config.h b/win32/rrd_config.h new file mode 100644 index 00000000..e4a99146 --- /dev/null +++ b/win32/rrd_config.h @@ -0,0 +1,91 @@ +/* rrd_config.h for Visual Studio 2010, 2012 */ + +#ifndef RRD_CONFIG_H +#define RRD_CONFIG_H + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "rrdtool" + +/* Define to the version of this package. */ +#define PACKAGE_MAJOR 1 +#define PACKAGE_MINOR 4 +#define PACKAGE_REVISION 7 +#define PACKAGE_VERSION "1.4.7" +#define NUMVERS 1.4070 + +#define RRD_DEFAULT_FONT "Courier" + +/* Vertical label angle: -90.0 (default) or 90.0 */ +#define RRDGRAPH_YLEGEND_ANGLE 90.0 + +/* + _MSC_VER + _WIN32 _WIN64 + + __GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__ + _WIN32 _WIN64 + __MINGW32__ __MINGW64__ + + sizeof(time_t): 4 + Linux x86 gcc, Windows x86 gcc + + sizeof(time_t): 8 + Linux x64 gcc, Windows x64 gcc + */ + +/* The size of `time_t', as computed by sizeof. */ +#define SIZEOF_TIME_T 8 /* Visual C++ 2005 or later */ + +/* Define to 1 if you have the `chdir' function. */ +#define HAVE_CHDIR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* is rrd_graph supported by this install */ +#define HAVE_RRD_GRAPH /**/ + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* is there an external timezone variable instead ? */ +#define HAVE_TIMEZONE 1 + +/* Define to 1 if you have the `tzset' function. */ +#define HAVE_TZSET 1 + +#include +#include +#include +#include +#include +#include +#include + +#define isinf(a) (_fpclass(a) == _FPCLASS_NINF || _fpclass(a) == _FPCLASS_PINF) +#define isnan _isnan +#define finite _finite +#define snprintf _snprintf +#define rrd_realloc(a,b) ( (a) == NULL ? malloc( (b) ) : realloc( (a) , (b) )) + +__inline int round(double a){ return (int) (a + 0.5); } + +#endif diff --git a/win32/rrdcgi.rc b/win32/rrdcgi.rc new file mode 100644 index 00000000..a28ca633 --- /dev/null +++ b/win32/rrdcgi.rc @@ -0,0 +1,34 @@ +#include +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1, 4, 7, 38 + PRODUCTVERSION 1, 4, 7, 38 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "RRDtool is available under the terms of the GNU General Public License V2 or later" + VALUE "CompanyName", "The RRDtool Project, http://oss.oetiker.ch/rrdtool/" + VALUE "FileDescription", "time-series data storage and display system" + VALUE "FileVersion", "1.4.7.38" + VALUE "InternalName", "rrdcgi.exe" + VALUE "LegalCopyright", "Copyright (c) 1998-2013 Tobias Oetiker" + VALUE "OriginalFilename", "rrdcgi.exe" + VALUE "ProductName", "time-series data storage and display system" + VALUE "ProductVersion", "1.4.7.38" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x04b0 + END +END diff --git a/win32/rrdtool.rc b/win32/rrdtool.rc new file mode 100644 index 00000000..196ea9e1 --- /dev/null +++ b/win32/rrdtool.rc @@ -0,0 +1,35 @@ +#include +#include "rrd_config.h" +VS_VERSION_INFO VERSIONINFO + FILEVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + PRODUCTVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "RRDtool is available under the terms of the GNU General Public License V2 or later" + VALUE "CompanyName", "The RRDtool Project, http://oss.oetiker.ch/rrdtool/" + VALUE "LegalCopyright", "Copyright (c) 1998-2013 Tobias Oetiker" + VALUE "FileDescription", "time-series data storage and display system" + VALUE "ProductName", "time-series data storage and display system" + VALUE "FileVersion", PACKAGE_VERSION + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "InternalName", "rrdtool.exe" + VALUE "OriginalFilename", "rrdtool.exe" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x04b0 + END +END diff --git a/win32/rrdupdate.rc b/win32/rrdupdate.rc new file mode 100644 index 00000000..10cf7de1 --- /dev/null +++ b/win32/rrdupdate.rc @@ -0,0 +1,35 @@ +#include +#include "rrd_config.h" +VS_VERSION_INFO VERSIONINFO + FILEVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + PRODUCTVERSION PACKAGE_MAJOR, PACKAGE_MINOR, PACKAGE_REVISION, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", "RRDtool is available under the terms of the GNU General Public License V2 or later" + VALUE "CompanyName", "The RRDtool Project, http://oss.oetiker.ch/rrdtool/" + VALUE "LegalCopyright", "Copyright (c) 1998-2013 Tobias Oetiker" + VALUE "FileDescription", "time-series data storage and display system" + VALUE "ProductName", "time-series data storage and display system" + VALUE "FileVersion", PACKAGE_VERSION + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "InternalName", "rrdupdate.exe" + VALUE "OriginalFilename", "rrdupdate.exe" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 0x04b0 + END +END diff --git a/win32/uac.manifest b/win32/uac.manifest new file mode 100644 index 00000000..f32a7449 --- /dev/null +++ b/win32/uac.manifest @@ -0,0 +1,10 @@ + + + + + + + + + + -- 2.47.2