Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:source [2010/04/18 15:16] digitalmandev:source [2024/02/02 12:32] (current) – [Static Analysis] Fixed typo digital man
Line 1: Line 1:
 ====== Source Code ====== ====== Source Code ======
  
-Synchronet is free open source software. You can get the current (or older) source (mostly in C) from the Synchronet [[CVS]] repository (using a CVS client or a web browser) or you can download the most recently successfully built snapshot of the source code from [[bbs:Vertrauen]]:+Synchronet is free open source software. You can get the current (or older) source (mostly in C) from the Synchronet [[dev:Git]] repository (using a Git client or a web browser) or you can download the most recently successfully built snapshot of the source code from [[bbs:Vertrauen]]:
  
-===== For Windows (32-bit x86) ===== +===== Static Analysis =====
-  * ''sbbs_src.zip'' [[ftp://bbs.synchro.net/Synchronet/sbbs_src.zip|ftp]] [[http://bbs.synchro.net/Synchronet/sbbs_src.zip|http]] +
-  * ''lib-win32.zip'' [[ftp://bbs.synchro.net/Synchronet/lib-win32.zip|ftp]] [[http://bbs.synchro.net/Synchronet/lib-win32.zip|http]]+
  
-===== For Linux (32-bit x86) ===== +The Synchronet project is statically-analyzed for defects nightly (using a Linux-x64 build). See http://scan.coverity.com/projects/synchronet for details. 
-  * ''sbbs_src.tgz'' [[ftp://bbs.synchro.net/Synchronet/sbbs_src.tgz|ftp]] [[http://bbs.synchro.net/Synchronet/sbbs_src.tgz|http]] +===== Windows ===== 
-  * ''lib-linux.tgz'' [[ftp://bbs.synchro.net/Synchronet/lib-linux.tgz|ftp]] [[http://bbs.synchro.net/Synchronet/lib-linux.tgz|http]]+Windows binaries are built targeting 32-bit x86 ("Win32"and are intended to be compatible with PCs (or VMs) running Microsoft Windows XP (SP3) and later. We use a combination of Microsoft Visual Studio/C++ (for the majority) and Borland (for a few GUI components) build/make systems. 
 + 
 +  * Latest successfully built code ([[https://gitlab.synchro.net/main/sbbs/-/tree/dailybuild_win32|nightly branch]]): ''[[http://synchro.net/Synchronet/sbbs_src.zip|sbbs_src.zip]]'' 
 +  * Latest release (v3.19b) ''[[http://synchro.net/Synchronet/ssrc319b.zip|ssrc319b.zip]]'' 
 + 
 +===== UNIX ===== 
 +All non-Windows systems supported are UNIX-Like (e.g. Linux, FreeBSD) operating systems running on 32-bit or 64-bit Intel/AMD-compatible x86 processors and some 32-bit or 64-bit little-endian ARM processors. We use GNU Make as the build system though some included (and built-from-source) 3rd party libraries (e.g. cryptlib and libmozjs) might use more complicated build systems, e.g. requiring Perl or Python. 
 + 
 +  * Latest successfully built code ([[https://gitlab.synchro.net/main/sbbs/-/tree/dailybuild_linux-x64|nightly branch]]): ''[[http://synchro.net/Synchronet/sbbs_src.tgz|sbbs_src.tgz]]'' 
 +  * Latest release (v3.19b) ''[[http://synchro.net/Synchronet/ssrc319b.tgz|ssrc319b.tgz]]'' 
 + 
 +===== Style =====  
 +At this time, the Synchronet C/C++ source code consists of a variety of styles (i.e. naming, white-space, etc.). The most obvious distinction in style is that //older// code uses a more condensed/terse style (i.e. for maximum content in an 80x25 terminal) while //newer// or refactored code uses a more verbose/readable style. A project-wide source code beautification effort (using ''uncrustify'') is planned. 
 + 
 +==== Tabs ==== 
 +The tab character (ASCII 9) is used for indentation and alignment in most files (e.g. ''*.c, *.cpp, *.h, *.js''), however the use of tabs for indentation and spaces for alignment is also acceptable. Using spaces for indentation is not acceptable. 
 + 
 +Most Synchronet source files are created and edited using text editors configured for 4-space tab-stopsThis tab preference is reflected in the "@format.tab-size 4" and "@format.use-tabs true" blurb in each file's header-comment block as well as the ''[[http://editorconfig.org|.editorconfig]]'' file found in the Synchronet ''src'' and ''[[dir:exec]]'' directories. If you use a text viewer or editor that supports the ''.editorconfig'' file or [[http://synchro.net/ptsc_hdr.html|PT/SC (@format...) headers]], the Synchronet source files should display and edit as intended, automatically. 
 + 
 +=== Vim === 
 +If you use the [[https://www.vim.org/|Vim]] text editor, consider installing [[https://www.vim.org/scripts/script.php?script_id=4122|this plugin]] to enable support for the PT/SC headers found in Synchronet source files, to automatically set the tab-stops accordingly when editing Synchronet source files. 
 + 
 +==== C99 ==== 
 +Most of the C/C++ source code is built using only compilers support C99 and newer standards, however some libraries (e.g. ''xpdev''), are still built using older (Borland) C compilers that do not support the full C99 standard. For those Synchronet libraries, care must be taken to *not* use newer C language constructs and standard library functions/types.
  
 ===== Run-time files ===== ===== Run-time files =====
  
-While technically not source code, if you have not already installed Synchronet, you will also need the run-time files:+While technically not source code, if you have not already //installed// Synchronet, you will also need the run-time files (the ''.zip'' file contains files with Windows style line endings, while the ''.tgz'' contains files with Unix style line endings): 
 + 
 +  * ''sbbs_run.tgz'' [[ftp://vert.synchro.net/Synchronet/sbbs_run.tgz|ftp]] [[http://synchro.net/Synchronet/sbbs_run.tgz|http]] 
 +  * ''sbbs_run.zip'' [[ftp://vert.synchro.net/Synchronet/sbbs_run.zip|ftp]] [[http://synchro.net/Synchronet/sbbs_run.zip|http]] 
 + 
 + 
 +===== Copyright =====  
 + 
 +Synchronet BBS Software Version 3 is Copyright by Rob Swindell. Synchronet is comprised of several documentation, library, executable, and source code files, all of which are covered by version 2 of the GNU General Public License (GPLv2) with the exception of the following portions covered by the GNU Lesser General Public License (LGPL): XPDEV, SMBLIB, CIOLIB, UIFC, and XSDK. 
 + 
 +What this means is that Synchronet Version 3 is free software in the sense that it is free of price and that you have the freedom to use, modify, and re-distribute the software, provided you pass these rights on to users of modified and/or re-distributed versions of the software (LGPL'ed portions exempted). Synchronet Version 3 also falls under the definition of Open Source software.
  
-  * ''sbbs_run.tgz'' [[ftp://bbs.synchro.net/Synchronet/sbbs_run.tgz|ftp]] [[http://bbs.synchro.net/Synchronet/sbbs_run.tgz|http]]+Synchronet Version 2 (for DOS and OS/2) and its source code was released to the Public Domain by Digital Dynamics in 1997 and remains Public Domain software today. Synchronet Version 3 is not Public Domain software.
  
 ===== See Also ===== ===== See Also =====
Line 23: Line 54:
   * [[history:development|Development History]]   * [[history:development|Development History]]
   * [[dev:|Development Index]]   * [[dev:|Development Index]]
 +  * [[:install:nix|UNIX Installation]]
      
    
    
  
dev/source.1271628987.txt · Last modified: 2010/04/18 15:16 by digitalman
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0