Commit Graph

41 Commits (cpp)

Author SHA1 Message Date
nirenjan 24ce9bc97b Generate Git version info at call to make
Prior to this change, the Git version was only getting generated when
the call was made to autoreconf. This was resulting in stale version
info.

This change, by contrast, generates the build info at the call to make.
While this doesn't completely eliminate the stale version issue, it's
easier to work around, by simply running `make clean`, `make`.
2022-04-27 00:05:02 -07:00
nirenjan 09740e0fe9 Update documentation to include communication protocol 2021-11-07 16:38:06 -08:00
nirenjan 41be44cc94 Add documentation for x52bugreport 2021-10-11 09:54:27 -07:00
nirenjan 8fd16d544a Add bugreport utility
This change adds a utility that generates some output that can be used
to figure out what the user system is, specifically, the versions of the
following:

* libusb
* hidapi (if available)
* kernel
* device info

These parameters can be used to determine if the user is running some
non-standard environment, and make it easier to track down bugs.
2021-10-11 07:22:21 -07:00
nirenjan d9eed14e0d Include default location of x52d.conf in documentation
This change adds the default location of x52d.conf in the release builds
to the public documentation.
2021-10-06 23:44:16 -07:00
nirenjan e7d91fd3a4 Replace all references to x52pro-linux with libx52 2021-09-29 00:30:55 -07:00
nirenjan aef1b6fade Remove rsync dependency and add Fedora packages
This change eliminates the dependency on rsync to copy the Doxygen
generated files, and instead falls back to using `cp -R -P`. Since the
generated HTML needs no special permissions, `cp` is more than
sufficient, and it's already installed on all Unix systems as a core
utility.
2021-09-22 23:37:05 -07:00
nirenjan ba936df6f8 Add Version file and associated scripts
When building from source, it is desired that we embed the version
string into the resulting binaries so that we can determine exactly what
version of the sources were used.

This change adds a Version file, which always holds the latest release
version, and a configure.version script, which tries to get the version
information from Git, before falling back to using the version embedded
in the above file. The generated configure script will then have the
version embedded within it, which will then create the BUILD_VERSION
definition in config.h. Applications can then use this definition as
needed.
2021-09-22 01:37:57 -07:00
nirenjan e7af5df69b Use automake rules to install man pages 2021-08-05 10:35:31 -07:00
nirenjan 3efdce5abe Fix make distcheck 2021-08-01 23:56:37 -07:00
nirenjan ac68ee07e5 Use non-recursive Automake 2021-07-29 23:53:21 -07:00
nirenjan 23fa0daf4f Move evtest to top level 2021-07-29 22:26:15 -07:00
nirenjan a94b079cf5 Move x52test to top level 2021-07-29 22:14:48 -07:00
nirenjan 711e4385c1 Move x52cli to top level 2021-07-29 22:11:19 -07:00
nirenjan 3b2378a54b Move libusbx52 to top level 2021-07-29 21:57:19 -07:00
nirenjan 7f30863e5d Move libx52io to top level 2021-07-29 21:51:11 -07:00
nirenjan 34adeaec45 Move libx52util to top level 2021-07-29 21:47:07 -07:00
nirenjan e3bccd3ac3 Move libx52 to top level 2021-07-29 21:41:07 -07:00
nirenjan 602071612d Add DoxygenLayout.xml to distribution 2021-07-26 17:07:11 -07:00
nirenjan cbe7f00a5a Add daemon framework
This change adds the daemon configuration parser and command line
argument parser. This also adds the associated strings to the
translation files, and integrates the daemon into the existing autotools
build framework.
2021-07-15 15:53:56 -07:00
nirenjan 4f39078998 Fix install error on macOS when doxygen is found
The `install` command on macOS does not support the `-D` flag. It is not
required anyway, since the directory components are created by the
previous line.

This commit also updates the options to rsync to not copy in 'archive'
mode. Because it is used in `make install`, it is likely to be run as
root, and therefore, the root user should own the files in the
destination directory.
2020-08-07 23:00:50 -07:00
nirenjan 63a2f465d2 Replace hard-coded values with #define's 2020-07-08 17:35:17 -07:00
nirenjan cdc6a594e4 Add contribution guidelines 2020-06-02 17:20:03 -07:00
nirenjan cb96d297ab Create INSTALL.md
[skip ci]
2020-06-02 16:36:01 -07:00
nirenjan 2db24e8759 Add udev rules to distribution
Prior to this change, a user had to manually install their own udev
rules on Linux if they wanted to access the joystick without having to
run as root. The most common usecase was on systems based on Debian,
where the user would be a member of the plugdev group, and they would
create their own rule to allow members of the group to write to the
joystick.

This change adds a validated udev rule to the distribution, so if the
user compiles from source and does a make install, the rule to allow
plugdev group members to access the joystick is installed.
2020-05-30 16:38:58 -07:00
nirenjan b0a07fe364 Ensure that doxygen docs are removed on uninstall 2020-05-30 16:36:55 -07:00
nirenjan f9be0b3172 Move x52cli documentation into Doxygen
Prior to this change, the x52cli man page was a manually created file
that was out of date with the source. Rather than update that file, and
maintain a separate document for the HTML sources, it makes sense to
consolidate both the HTML and manpage documentation to a Doxygen page
block within the source and update the Doxyfile to generate man pages as
well.

This change also removes the obsolete manually maintained manpage, and
falls back to Doxygen to build and install the manpage.
2020-05-28 15:31:08 -07:00
nirenjan c86e3f027a Add install rule for Doxygen generated docs 2020-05-26 16:16:54 -07:00
nirenjan 491e5dffeb Format silent rules for doxygen generation
This change changes the silent rule for doxygen docs to show `DXGEN`
instead of just `GEN`.
2020-05-25 01:25:53 -07:00
nirenjan 97743d4ebd Add internationalization support for x52test
This change updates x52test to use the gettext APIs. This also adds a
fake message catalogue to verify that the code is converted correctly
and the translations are displayed.

The fake message catalogue translates the English strings into Pig
Latin, which makes it easy enough for a maintainer to verify that the
changes have been made correctly.

Finally, this also adds some documentation to tell the maintainer or
translator how to make the relevant changes.
2020-05-20 14:36:40 -07:00
nirenjan ec9443dcdd Add gettext support to libx52
This change adds gettext support to libx52 using the Autotools
framework. This should allow translators to translate the error messages
provided by libx52_strerror into their corresponding localized versions.
2020-05-19 08:07:10 -07:00
nirenjan 74b828a790 Update Doxygen comments
This disables the include file list and dependency graph in the file
view. In addition, the groups are updated to include `libx52` in their
names, to avoid any potential conflict.

[skip ci]
2020-04-18 02:21:12 -07:00
nirenjan 0204103ccd Add Doxygen support
This change adds Doxygen support in the configure/make step. Doxygen is
optional, and the absence of Doxygen should not break the build.
2020-04-18 01:35:57 -07:00
nirenjan 06fa56bb9f Add missing documentation to distribution tarball 2020-04-17 00:00:46 -07:00
nirenjan 7dcd3049ec Add SPDX license identifiers in all files 2018-04-18 12:19:29 -07:00
nirenjan e463d9b890 Add tests framework and LED tests 2017-07-27 20:00:35 -07:00
nirenjan f0a0a7dcaf Reorganize source layout 2017-07-27 17:56:51 -07:00
nirenjan dc7300db26 Add stub routines for mocking libusb
This is to be used for running automated tests on libx52 and associated
libraries and/or programs
2017-07-26 17:34:29 -07:00
nirenjan a7806c43b9 Add new LICENSE file to distribution 2016-12-29 14:08:55 -08:00
nirenjan ce9f58c15a Add README files to distribution 2015-12-10 22:44:44 -08:00
nirenjan c87e785a18 Restructure code layout
Copy files to individual folders. This makes it cleaner to add new
functionality in the future.
2015-12-08 21:46:42 -08:00