Category: c#

  • Next article in the “Writing Free Software” series

    Hey all, I’m not certain what the next topic should be. I’ve got a few ideas. Could the interested parties let me know what they’re curious most about? documentation distributing .exe.config and .dll.config files inter-package dependencies using pkg-config creating sub packages test harnesses and the “check” target the debian/ directory and .deb packages … something…

  • Writing Free Software – Part 10: Subdirectories

    In this installment, I’ll cover creating different subdirectories for different parts of the code. We’ll move NDesk.Options.cs into an ndesk directory and Greeting.cs into a src directory. Some modifications need to be made to various pieces of the distribution in order for this to work out correctly. We’ll do the minimum required now and cover…

  • Writing Free Software – Part 9: Creating the wrapper script

    A previous post covered altering the install target so that it places the .exe assembly into the filesystem of the installer’s computer. In this part, we will cover creating the so-called “wrapper” script, which is the way recommended by the mono project’s application deployment guidelines to make the assembly executable on the system outside of…

  • Writing Free Software – Part 8: Exploring configure.ac variables

    Introduction One of autotools’ primary purposes is to allow software to be built and installed on a wide range of platforms. The configure script is responsible for a great deal of this flexibility. When it is run, it interrogates the system on which it is being run to determine the features available. If required features…

  • Writing Free Software – Part 7: Creating a working install target

    Introduction This entry will show how to add the bits required for an install target. There are two pieces that need to be added to the Makefile.am: target_DATA, which is a list of files associated with the target targetdir, which is the location where the above files will be installed Return to the workplace $…

  • Writing Free Software – Part 6: Making a simple distribution

    You might remember from a previous post that we’ve already got a “dist” target which creates a tarball of the source. However, the source doesn’t include any of the code we wrote, only the files generated by autotools. In this article, we’ll make the modifications to the Makefile.am file required to include our source in…

  • Writing Free Software – Part 5: Consuming configure.ac variables

    This one has to be quick folks. The family needs my support this evening ;) In the last episode, we created a simple configure.ac and defined a variable, CSC. We didn’t change the Makefile other than re-naming it to Makefile.am. In this article, we’ll simply show how to consume the variable which was defined in…

  • Writing Free Software – Part 4: configure.ac

    In this section, we’ll create a minimalist configure.ac, re-name our Makefile to Makefile.am, generate a configure script, and use this configure script to produce a Makefile. The end result won’t do much more than our manually-created Makefile. It will, however, allow us to make use of the autoconf and automake infrastructure in future lessons. So…

  • Writing Free Software – Part 3: Command line options

    Introduction In this installment, we will look at parsing command-line options. We’re going to use Jon Pryor‘s NDesk.Options library. Since he has not made a .deb package yet, we’ll use curl to integrate NDesk.Options.cs into our codebase. Get back to our workspace $ cd ~/src/greeting Get curl $ sudo apt-get install curl Pull down a…

  • Writing Free Software – Part 2: Makefiles

    Okay, so now we know how to write hello world in C#, compile it and run it. Next, let’s try to automate the build portion a bit. It’s not going to be very much of an improvement to start out with; we’re just replacing the gmcs command with a make command. But it’s laying a…