From: Dongsheng Song Date: Sat, 4 May 2013 05:44:58 +0000 (+0800) Subject: Add win32/Makefile.msc and related files X-Git-Tag: v1.5.0-rc1~181^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7bb683724e008be5a1720e017708fac35a31470e;p=thirdparty%2Frrdtool-1.x.git Add win32/Makefile.msc and related files --- 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 00000000..016ef3cc Binary files /dev/null and b/win32/librrd-4.exp differ diff --git a/win32/librrd-4.rc b/win32/librrd-4.rc new file mode 100644 index 00000000..4721eaf8 --- /dev/null +++ b/win32/librrd-4.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 "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 @@ + + + + + + + + + +