summary refs log blame commit diff stats
path: root/win32/deps/openssl/build-x64.bat
blob: 65847fba9beb5efea2b8a3c4991547ac5d529a23 (plain) (tree)





























                                                                                          
                                       

                                                          
                                                      








                                     
:: run this from a VS x64 command prompt
@echo off

SET PACKAGE_NAME=openssl-1.0.1c

set OPENSSL_SRC=%cd%
set OPENSSL_DEST=%cd%-x64
set PERL_PATH=c:\mozilla-build\perl-5.16\x64\perl\bin
set NASM_PATH=c:\mozilla-build\nasm
set INCLUDE=%INCLUDE%;%OPENSSL_SRC%\..\build\x64\include
set LIB=%LIB%;%OPENSSL_SRC%\..\build\x64\lib
set PATH=%PATH%;%PERL_PATH%;%NASM_PATH%;%OPENSSL_SRC%\..\build\x64\bin
perl Configure VC-WIN64A enable-camellia zlib-dynamic --openssldir=./
call ms\do_win64a
@echo off
nmake -f ms\ntdll.mak vclean
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
perl mk-ca-bundle.pl -n
echo.Press return when ready to install!
pause

:: hack to have . as openssldir which is required for having OpenSSL load cert.pem from .
move include include-orig
nmake -f ms\ntdll.mak install
rmdir /q /s %OPENSSL_DEST%
mkdir %OPENSSL_DEST%
move bin %OPENSSL_DEST%
move include %OPENSSL_DEST%
move lib %OPENSSL_DEST%
mkdir %OPENSSL_DEST%\share
mkdir %OPENSSL_DEST%\share\doc
mkdir %OPENSSL_DEST%\share\doc\openssl
move openssl.cnf %OPENSSL_DEST%\share\openssl.cnf.example
move include-orig include
move cert.pem %OPENSSL_DEST%\bin
copy LICENSE %OPENSSL_DEST%\share\doc\openssl\COPYING

cd %OPENSSL_DEST%
set PATH=%PATH%;%ProgramFiles%\7-zip
del ..\%PACKAGE_NAME%-x64.7z
7z a ..\%PACKAGE_NAME%-x64.7z *
cd %OPENSSL_SRC%
rmdir /q /s %OPENSSL_DEST%

echo.Finished!
pause
nd_id; guint server_id; static void write_error (const char *message, GError **error) { if (error == NULL || *error == NULL) { return; } g_printerr ("%s: %s\n", message, (*error)->message); g_clear_error (error); } static void test_server_cb (DBusGProxy *proxy, char *word[], char *word_eol[], guint hook_id, guint context_id, gpointer user_data) { if (hook_id == server_id) { g_print ("message: %s\n", word_eol[0]); } } static void test_command_cb (DBusGProxy *proxy, char *word[], char *word_eol[], guint hook_id, guint context_id, gpointer user_data) { GError *error = NULL; if (hook_id == command_id) { if (!dbus_g_proxy_call (proxy, "Unhook", &error, G_TYPE_UINT, hook_id, G_TYPE_INVALID, G_TYPE_INVALID)) { write_error ("Failed to complete unhook", &error); } /* Now if you write "/test blah" again in the HexChat window * you'll get a "Unknown command" error message */ g_print ("test command received: %s\n", word_eol[1]); if (!dbus_g_proxy_call (proxy, "Print", &error, G_TYPE_STRING, "test command succeed", G_TYPE_INVALID, G_TYPE_INVALID)) { write_error ("Failed to complete Print", &error); } } } static void unload_cb (void) { g_print ("Good bye !\n"); exit (EXIT_SUCCESS); } int main (int argc, char **argv) { DBusGConnection *connection; DBusGProxy *remote_object; GMainLoop *mainloop; gchar *path; GError *error = NULL; #if ! GLIB_CHECK_VERSION (2, 36, 0) g_type_init (); #endif connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error); if (connection == NULL) { write_error ("Couldn't connect to session bus", &error); return EXIT_FAILURE; } remote_object = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE, DBUS_REMOTE, DBUS_REMOTE_CONNECTION_INTERFACE); if (!dbus_g_proxy_call (remote_object, "Connect", &error, G_TYPE_STRING, argv[0], G_TYPE_STRING, "example", G_TYPE_STRING, "Example of a D-Bus client", G_TYPE_STRING, "1.0", G_TYPE_INVALID, G_TYPE_STRING, &path, G_TYPE_INVALID)) { write_error ("Failed to complete Connect", &error); return EXIT_FAILURE; } g_object_unref (remote_object); remote_object = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE, path, DBUS_REMOTE_PLUGIN_INTERFACE); g_free (path); if (!dbus_g_proxy_call (remote_object, "HookCommand", &error, G_TYPE_STRING, "test", G_TYPE_INT, 0, G_TYPE_STRING, "Simple D-BUS example", G_TYPE_INT, 1, G_TYPE_INVALID, G_TYPE_UINT, &command_id, G_TYPE_INVALID)) { write_error ("Failed to complete HookCommand", &error); return EXIT_FAILURE; } g_print ("Command hook id=%d\n", command_id); if (!dbus_g_proxy_call (remote_object, "HookServer", &error, G_TYPE_STRING, "RAW LINE", G_TYPE_INT, 0, G_TYPE_INT, 0, G_TYPE_INVALID, G_TYPE_UINT, &server_id, G_TYPE_INVALID)) { write_error ("Failed to complete HookServer", &error); return EXIT_FAILURE; } g_print ("Server hook id=%d\n", server_id); dbus_g_object_register_marshaller ( _hexchat_marshal_VOID__POINTER_POINTER_UINT_UINT, G_TYPE_NONE, G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INVALID); dbus_g_object_register_marshaller ( g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, G_TYPE_INVALID); dbus_g_proxy_add_signal (remote_object, "CommandSignal", G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INVALID); dbus_g_proxy_connect_signal (remote_object, "CommandSignal", G_CALLBACK (test_command_cb), NULL, NULL); dbus_g_proxy_add_signal (remote_object, "ServerSignal", G_TYPE_STRV, G_TYPE_STRV, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_INVALID); dbus_g_proxy_connect_signal (remote_object, "ServerSignal", G_CALLBACK (test_server_cb), NULL, NULL); dbus_g_proxy_add_signal (remote_object, "UnloadSignal", G_TYPE_INVALID); dbus_g_proxy_connect_signal (remote_object, "UnloadSignal", G_CALLBACK (unload_cb), NULL, NULL); /* Now you can write on the HexChat windows: "/test arg1 arg2 ..." */ mainloop = g_main_loop_new (NULL, FALSE); g_main_loop_run (mainloop); return EXIT_SUCCESS; }