summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* move WARN and WARN_ONCE to spice_common.hChristophe Fergeau2011-05-034-15/+7
|
* common: use PANIC from spice_common.hChristophe Fergeau2011-05-033-20/+0
|
* common,server: use ASSERT from spice_common.hChristophe Fergeau2011-05-039-36/+7
| | | | | | | spice_common.h provides an ASSERT macro, no need to duplicate it in many places. For now client/debug.h keeps its own copy since debug.h and spice_common.h have clashes on other macros which are trickier to unify.
* server: use gcc builtin for atomic get/set bitChristophe Fergeau2011-05-031-2/+4
|
* client: remove unused mb() macroChristophe Fergeau2011-05-031-6/+0
|
* common: don't duplicate find_msb implementationChristophe Fergeau2011-05-034-67/+95
|
* remove void * arithmeticChristophe Fergeau2011-05-032-2/+2
| | | | | | | With -Wpointer-arith, gcc complains about void pointer arithmetic. This is not a big deal with gcc, but could be with other compilers, so it's better to cast to char */uint8_t * before doing the arithmetic on such pointers.
* add missing staticChristophe Fergeau2011-05-038-28/+29
|
* configure.ac: remove setting default C(XX)FLAGSChristophe Fergeau2011-05-031-12/+0
| | | | | automake/autoconf already set them for us to -g -O2 if there are no flags defined.
* win32: remove obsolete preprocessor #definesChristophe Fergeau2011-05-031-4/+4
| | | | | | SW_CANVAS_NO_CHUNKS isn't used anywhere but in this file. SW_CANVAS_CACHE is now defined directly in the files where it's needed so we no longer need it in the .vcproj file.
* add comment to beginning of autogenerated filesChristophe Fergeau2011-05-031-0/+2
|
* s/USE_OGL/USE_OPENGLChristophe Fergeau2011-05-0320-110/+110
| | | | This is more explicit about what it does, and not much longer
* use AC_DEFINE instead of hardcoding preprocessor flagsChristophe Fergeau2011-05-031-3/+4
| | | | | | | | | | Now that all source files include config.h, we can use AC_DEFINE to enable/disable optional features (opengl, cegui). This is cleaner than directly appending -Dxxx directives to the preprocessor flags. This also guarantees that everything will be appropriately rebuilt when using the same source tree to build first with opengl support and then without (the config.h timestamp will change, triggering a rebuild of the files including it)
* add config.h to autogenerated files tooChristophe Fergeau2011-05-031-0/+4
| | | | | Modify the python (de)marshaller generator to add #include <config.h> at the beginning of the C files it generates
* add #include <config.h> to all source filesChristophe Fergeau2011-05-03109-14/+330
| | | | | | | | When using config.h, it must be the very first include in all source files since it contains #define that may change the compilation process (eg libc structure layout changes when it's used to enable large file support on 32 bit x86 archs). This commit adds it at the beginning of all .c and .cpp files
* autotools: correctly build canvas-related codeChristophe Fergeau2011-05-0330-34/+218
| | | | | | | | | | | | | | | | | | | | | spice client and spice server shares code from common/{gdi,gl,sw}_canvas.[ch]. However, while most of the code is shared, the server code wants a canvas compiled with SW_CANVAS_IMAGE_CACHE defined while the client code wants a canvas compiled with SW_CANVAS_CACHE. The initial autotools refactoring didn't take that into account, this is now fixed by this commit. After this commit, the canvas files from common/ are no longer compiled as part of the libspice-common.la convenience library. Instead, there are "proxy" canvas source files in client/ and server/ which #include the appropriate C files after defining the relevant #define for the binary that is being built. To prevent misuse of the canvas c files and headers in common/, SPICE_CANVAS_INTERNAL must be set when including the canvas headers from common/ or when building the c files from common/ otherwise the build will error out.
* configure.ac: remove unused AC_SUBSTChristophe Fergeau2011-05-031-4/+0
|
* autotools: refactor the whole build machineryChristophe Fergeau2011-05-038-706/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spice Makefile.am setup is a bit confusing, with source file names being listed several times in different Makefile.am (generally, once in EXTRA_DIST and another time in another Makefile.am in _SOURCES). The client binaries are built by client/x11/Makefile.am, which means recursing into client, then into x11 to finally build spicec. This Makefile.am is also referencing files from common/ and client/, which is a bit unusual with autotools. This patch attempts to simplify the build process to get something more usual from an autotools point of view. The source from common/ are compiled into a libtool convenience library, which the server and the client links against which avoids referencing source files from common/ when building the server and the client. The client is built in client/Makefile.am and directly builds files from x11/ windows/ and gui/ if needed (without recursing in these subdirectories). This makes the build simpler to understand, and also makes it possible to list source files once, which avoids potential make distcheck breakage when adding new files. There is a regression in this patch with respect to sw_canvas/gl_canvas/gdi_canvas. They should be built with different preprocessor #defines resulting in different behaviour of the canvas for the client and the server. However, this is not currently the case, both the client and the server will use the same code for now (which probably means one of them is broken). This will be fixed in a subsequent commit. make distcheck passes, but compilation on windows using the autotools build system hasn't been tested, which means it's likely to be broken. It shouldn't be too hard ot fix it though, just let me know of any issues with this.
* add missing "LGPLv2.1 or later" header to source filesChristophe Fergeau2011-05-0214-1/+235
|
* common: don't try to redefine PANIC if it already existsChristophe Fergeau2011-05-021-0/+2
| | | | | | | | | | canvas_base.c tries to define PANIC, but it might already be set if eg client/debug.h has been included before. All the other macros in this file are guarded by #ifndef, this commit adds the missing #ifndef to PANIC. Note that this is just a bandaid, ideally common/ would contain a logging frameword, and these macros would only be defined once instead of being defined in several places.
* server: s/desable/disableChristophe Fergeau2011-05-023-4/+4
| | | | | This fixes a typo in some function names, there should be no functional change.
* use foo(void) instead of foo() in prototypesChristophe Fergeau2011-05-0220-40/+40
| | | | | In C, the latter isn't a prototype for a function with no arg, but declares a function with an undefined number of args.
* server: remove extra arg in reds_on_main_agent_start callChristophe Fergeau2011-05-021-1/+1
|
* client: remove c++ wrappersChristophe Fergeau2011-05-0217-338/+36
| | | | | | | | client/ contains several .cpp file which only #include a .c file of the same name. This is unusual and seems to only be done to get C++ name mangling on the symbols defined in the C file. Now that all headers files in common/ use extern "C", these wrappers are no longer useful.
* common: add missing header guards to gl_canvas.hChristophe Fergeau2011-05-021-0/+5
|
* common: add extern "C" guards to headersChristophe Fergeau2011-05-0223-2/+182
| | | | | | Since some spice C++ code is using code from common/, the C functions need to be marked as such for the C++ compiler, otherwise we'll get linkage issues.
* client: make building client optionalChristophe Fergeau2011-05-022-1/+13
|
* configure.ac: replace tab with spacesChristophe Fergeau2011-05-021-1/+1
| | | | | This makes the "C++ Compiler: ...." status output nicely aligned with the other messages.
* configure.ac: remove unused dynamic linkage flagChristophe Fergeau2011-05-021-3/+1
| | | | | | | | configure.ac defines a SPICEC_STATIC_LINKAGE_BDYNAMIC variable when --enable-static-linkage is not set, but it's never used. SPICEC_STATIC_LINKAGE_BSTATIC is used in client/, but since we are using libtool, it might be more appropriate to use 'make LDFLAGS="-all-static"' to achieve static link.
* configure.ac: fix use of AC_ARG_ENABLEChristophe Fergeau2011-05-021-33/+35
| | | | | | | | | | | Most uses of AC_ARG_ENABLE were buggy: - when passing --disable-xxx, configure.ac would behave as if it was passed --enable-xxx - passing --enable-xxx=foo would "leak" into the summary, ie the summary (at the end of configure) would say "xxx: foo" instead of "xxx: yes" This patch fixes these 2 issues.
* configure.ac: fix make distChristophe Fergeau2011-05-021-2/+1
|
* server: use is_primary_surfaceChristophe Fergeau2011-05-021-7/+4
| | | | | red_worker.c has an is_primary_surface helper function, but there were some places in the file not using it. This patch fixes that
* spice.proto: Fill.rop_descriptor type s/uint16/ropd (10x atiti)Alon Levy2011-04-261-1/+1
|
* client: skip spaces in --host-subjectChristophe Fergeau2011-04-181-1/+8
| | | | | | | | | | | | | | | | | | This fixes fdo bug #32896: "Subject in certificates is stored in following format (values separated by comma and space): grep Subject: server-cert.pem | awk -F": " '{print $2}' O=REDHAT, CN=10.34.58.2 While spicec expects that values in host subject are separated only by comma: spicec --host-subject "O=REDHAT,CN=10.34.58.2" " In this case, ignoring spaces make it much easier to directly copy and paste the subject line from certificates.
* draw: remove SPICE_ADDRESSChristophe Fergeau2011-04-181-1/+0
| | | | | | This commit removes the typedef for SPICE_ADDRESS which was no longer used. This is the last thing that was missing to close fdo bug #28984
* client: add --version cmdline option to spicecChristophe Fergeau2011-04-181-1/+9
| | | | This fixes freedesktop bug #33907
* client: s/reqired/required in CmdLineParserChristophe Fergeau2011-04-182-5/+5
|
* client: s/AVAILIBLE/AVAILABLE in CmdLineParserChristophe Fergeau2011-04-184-5/+5
| | | | It was mispelt in a CmdLineParser enum.
* server/tests remove useless assignmentChristophe Fergeau2011-04-081-1/+0
| | | | This was detected by clang-static-analyzer.
* common/pixman: remove dead assignmentsChristophe Fergeau2011-04-081-7/+3
| | | | | | They were detected using clang-static-analyzer. Don't initialize the variable to a value to override it with a different value a few lines after.
* tests: fix compilation with -Wall -WerrorChristophe Fergeau2011-04-083-3/+7
| | | | | | When compiling spice with make CFLAGS="-g3 -ggdb3 -O0 -Wall -Werror", the build broken because of a few unused variables/missing returns. This patch fixes these warnings.
* gl: remove unused variablesChristophe Fergeau2011-04-081-6/+0
| | | | gcc 4.6 warned about these.
* gl: use correct pixman accessor for image dataChristophe Fergeau2011-04-081-1/+1
| | | | | | | | | Commit 774e5bd36f4 changed - dest->source.pixmap.x_image->data + + (uint8_t *)pixman_image_get_stride(dest->source.pixmap.pixman_image) + The correct accessor to use is pixman_image_get_data. Thanks to gcc 4.6 for warning about a "different size" int to pointer conversion.
* client: use silent generation rules in Makefile.amChristophe Fergeau2011-04-081-4/+4
| | | | | | | | The server Makefile.am rules for marshallers generation are prefixed with AM_V_SILENT to integrate nicely with automake silent rules. The same AM_V_SILENT prefix isn't used in client/Makefile.am resulting in verbose output even when automake silent mode is enabled. This commit removes this verbosity.
* configure.ac: remove detection of WARN_UNUSED_RESULTChristophe Fergeau2011-04-041-14/+0
| | | | | | | | | | spice configure.ac has some code to detect if the compiler has a special attribute to tag some functions so that they generate a warning when their return value isn't checked. However, this test is broken (the gcc attribute name is "warn_unused_result", not "__warn_unused_result__" and WARN_UNUSED_RESULT is unused anyway since spice-protocol provides SPICE_GNUC_WARN_UNUSED_RESULT. Thus we can just drop that block of code from configure.ac
* remove duplicated macroChristophe Fergeau2011-04-041-2/+0
| | | | MIN() is already defined in spice-protocol/spice/macros.h
* server: make sure we clear vdagent and update mouse mode on agent disconnectHans de Goede2011-04-041-3/+0
| | | | | | | | The check this patch removes causes us to not set vdagent to NULL, nor update the mouse mode when the guest agent disconnects when no client is attached. Which leads to a non working mouse, and on agent reconnect a "spice_server_char_device_add_interface: vdagent already attached" message instead of a successful re-add of the agent interface .
* server: ignore SPICE_MSGC_MAIN_AGENT_START messages when there is no agentHans de Goede2011-04-041-0/+3
| | | | | This can happen for example when a SPICE_MSGC_MAIN_AGENT_START message from the client and the vdagent disconnecting race.
* server: hookup agent-msg-filter discard-all functionalityHans de Goede2011-04-041-30/+22
| | | | | | | This ensures that if the client or agent connects to the client-agent "tunnel" while the other side is halfway through sending a multi part message, the rest of the message gets discarded, and the connecting party starts getting data at the beginning of the next message.
* server: add discard all option to agent message filterHans de Goede2011-04-043-18/+26
|