Hi Werner,



*> * I wonder whether it is necessary to have a separate `dlg.vcxproj`>
file (and friends).  What about folding its contents into>
`freetype.vcxproj`?  The `dlg` stuff gets completely integrated into>
FreeType and will be always linked statically...*

So, I have updated the code in `GSoC-2020-priyesh' branch such that
there are no separate project files for building dlg, in this branch
I have used the `dlgwrap.c' method, now dlg is compiled along with FreeType
only for `Debug' and `Debug Release' configurations on Windows if
`FT_LOGGING' macro is defined.

I have also pushed all the changes in this new branch,
Please take a look at that and let me know if there are any concerns.


Thanks,
Priyesh

On Tue, Aug 25, 2020 at 11:45 AM Werner LEMBERG <[email protected]> wrote:

>
> Hello Priyesh,
>
>
> > I have updated the FreeType's code in accordance with the recent
> > changes in the dlg library and again tested the code on
> > Linux(Autotools), Windows(Visual Studios), and on OS X(Autotools).
>
> thanks!
>
> > I wanted to ask that is there something else which I have to take
> > care of?  or should I proceed towards writing the final report?
>
> In addition to the final report you should do two things.
>
> (1) Rebase your code to current 'master'.
>
> (2) Create a new branch that presents your code in an ordered fashion,
>     this is, using not-too-large, concise, well documented commits
>     that makes it easy to understand how your project works.  Have a
>     look how Anuj is doing this to get an idea.
>
>     While doing so, please check the code and documentation
>     formatting.
>
>     - Two spaces after a full stop.
>     - Source code files should always have a newline character at the
>       very end (again an editor setting).
>     - Avoid trailing whitespace (this should be an editor setting)
>     - Don't precede tab characters with spaces (again an editor
>       setting).
>
>     If you do, for example,
>
>       git diff master
>
>     on the command line then trailing whitespace is marked in red, and
>     right now you will see *a lot* of red boxes :-)
>
>
> Some comments regarding the code.
>
> * I wonder whether it is necessary to have a separate `dlg.vcxproj`
>   file (and friends).  What about folding its contents into
>   `freetype.vcxproj`?  The `dlg` stuff gets completely integrated into
>   FreeType and will be always linked statically...
>
>   Am I missing something?
>
> * I expect that
>
>     FT_LOGGING_FILE=/dev/stderr
>
>   works to emit data to stderr.  It should probably be documented.
>
> * Please keep `devel/ftoption.h` in sync with
>   `include/freetype/config/ftoption.h`.  Right now, the former lacks
>   `FT_LOGGING`.  Note that the devel version should have FT_LOGGING
>   activated by default, while the standard one should not.
>
> * Have you checked that `make refdoc` builds ok, and that your
>   `debugging_apis` stuff is properly displayed as HTML in the API
>   documentation?
>
> * For function definitions (and especially API functions), always use
>   one argument per line.  This is, don't write
>
>     int foo( char  bar, void  *baz )
>
>   but
>
>     int
>     foo( char   bar,
>          void  *baz )
>
> * Have you ensured that the `dlg` files are compiled into the library
>   only if `FT_LOGGING` is defined?  As far as I can see, this is not
>   the case yet.
>
>   Two possible solutions
>
>   - Adjust the copying process from the 'dlg' sub-repository to
>     `src/dlg`, for example do
>
>       echo "#ifdef FT_LOGGING"                             > dlg.c
>       echo                                                >> dlg.c
>       cat submodules/dlg/src/dlg/dlg.c                    >> dlg.c
>       echo                                                >> dlg.c
>       echo "#else /* !FT_LOGGING */"                      >> dlg.c
>       echo "/* ANSI C doesn't like empty source files */" >> dlg.c
>       echo "  typedef int  _dlg_dummy;"                   >> dlg.c
>       echo                                                >> dlg.c
>       echo "#endif /* !FT_LOGGING */"                     >> dlg.c
>
>     You might use the `sed` program instead of `echo` and `cat`.
>
>   - Create a wrapper file (say, `dlgwrap.c`) that contains
>
>       #ifdef FT_LOGGING
>       #  include "dlg.c"
>       #else
>         /* ANSI C doesn't like empty source files */
>         typedef int  _dlg_dummy;
>       #endif
>
>     and compile this instead.
>
> * In `toplevel.mk`, change
>
>     # For builds that don't use `./configure' script ...
>
>   to
>
>     # For builds directly from the git repository ...
>
>
>    Werner
>

Reply via email to