Estructura del Proyecto. Agenda ● Estructura de un proyecto GNU. ● Contenido de archivos. ● Autoconf ● Automake ● Internacionalizacion ● intltool.

Slides:



Advertisements
Presentaciones similares
Servicio DNS.
Advertisements

Tema Algoritmos Universidad Politécnica de Nicaragua UPOLI.
Raúl García Cortés ( Noviembre de 2013.
FHS: organización de directorios en Linux
Que es make? Make es un comando que se utiliza para la creació n de archivos ejecutables o programas, su instalación y la limpieza de archivos temporales.
Guía rápida para los Usuarios en la Funcionalidad de Mensajería Setiembre 2012.
Proyecto ROOTVE V2: Control de versiones con Subversion Grupo de Investigación y Desarrollo en Seguridad de la Información - GIDSI.
¿Que es un ordenador? Un ordenador es una máquina programable. Las dos características principales de un ordenador son: 1. Responde a un sistema específico.
El proyecto Debian Sam Hocevar Líder de proyecto Debian vo Encuentro Linux Arica, Chile — 13 de Octubre 2007.
Trabajo de Dokeos Realizado por: Katherine Mayorga.
Empaquetamiento de RPM. Que es un archivo RPM? Un archivo rpm es formato de archivo definido para el manejador de paquetes rpm y en esencia es un archivo.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
Frente Finanzas Impuestos Programa de capacitación.
Museo Tecnológico. Bienvenidos al Museo Tecnológico BIENVENIDOS Información.
 Multiempresa: Puede controlar varias empresas en la misma aplicación. Cada empresa con su propia base de datos.  Multiusuario: Crear diferentes usuarios.
Flujos de datos Un flujo es un canal por donde fluyen los datos.
Opciones del Package Manager. - Create new package: Me permite crear un nuevo paquete - Write new specification files for all installed, locally generated.
Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
TEMA: PSP (Personal Software Process) ANALISIS DE SISTEMAS I ING. EDGAR RAUL MOLINA INTEGRAMTES: HANNSEL E. CORDON AC JESSICA IDALMY KRESS FREDERIC HESTIB.
Gestor de paquetes Instalar y eliminar software (GUI y consola)
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
ALFRESCO.
Para el Modulo de Nómina
Áreas de Trabajo y Caso Hipotético
Linux Objetivo: El alumno conocerá la importancia del sistema operativo Linux, así como sus funciones.
PO de Sistema de información en CEAS
Entornos y Tecnologías de Desarrollo en el Software Libre
Lic. Xóchitl minerva García cruz
¿Qué son las Plataformas?.
SMRT: Software para la realización de análisis conjunto
Maestría en Evaluación y Auditoría de Sistemas
IN3701 – Optimización Semestre Otoño 2009
Introducción a C Parte 3 Aurelio Sanabria Estructuras de datos
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Introducción a C#.
EDWIN SANTIAGO YACELGA MALDONADO SANGOLQUÍ – ECUADOR 2016
INTRODUCCION DE SISTEMAS INFORMATICOS
Apellidos y Nombres Cuatrimestre.
UNIVERSIDAD PEDAGÓGICA NACIONAL FRANCISCO MORAZÁN
PROGRAMA DE CONTABILIDAD COMPUTARIZADA
Cada maquina tiene un lenguaje ensamblador distinto
2.5 Seguridad e integridad.
EN QUÉ CONSISTE UNA COMPUTADORA
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
Ecosistema abierto para la representación espacial de sistemas de información IDESAN, caso de uso aplicado a la gestión sanitaria en la Conselleria de.
Metodología de la programación
Fundamentos de programación en TIG 4. Aptana y Arcpy
2018… PaperCut 18… Coincidencia?  
Conceptos básicos de.NET Explorar el entorno de desarrollo Crear un proyecto Visual Basic.NET Use Visual Studio.NET Acceso a datos Depurar e implantar.
El presente boletín tiene como finalidad dar a conocer en el módulo de necesaria para el registro en la atención de.
Pensus Software 1.
¿Quieres localizar una Revista impresa?
Customización en ADempiere
INDUCCIÓN MEJORAMIENTO CONTINUO. PIRAMIDE DOCUMENTAL Manual de CalidadCaracterizacionesProcedimientosInstructivosFormatos.
DATOS DEL NOMBRES: CURSO: PARALELO: ESPECIALIDAD: FECHA:
Julio Rovi Sánchez, Ingeniero Electromecánico
Fundamentos de la Programación I
Instituto Tecnológico de Minatitlán
Elaborado por César Pimentel Batista
Tema: Componentes lógicos de un ordenador. Mediante el sistema de numeración binario, es decir, usando los dígitos 0 y 1. Lo único que transmite,
Norma IEC 1131 Norma IEC 1131 en STEP 7 NORMA IEC 1131 EN STEP 7
Informática Ingeniería en Electrónica y Automática Industrial
Algunas Características de C++ no presentes en C
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO Nombres: Isaac Sánchez García Teofilo Martinez Garcia Ricardo Del Carmen Paz López Vanesa Anahí Pérez Lizárraga.
ADMINISTRACIÓN DE SOFTWARE DE UN SISTEMA INFORMÁTICO LINUX SBACKUP.
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Taller de Bases de Datos Ingeniería en Sistemas Computacionales M. en I.S.C Mariana Carolyn Cruz Mendoza Por Alexis Orlando Rebollar Lopez.
Proceso de compras. Recibo de requisicio nes de compra Son solicitudes internas de compras que se hacen al departamento que lleva el mismo nombre INFORMACION.
Transcripción de la presentación:

Estructura del Proyecto

Agenda ● Estructura de un proyecto GNU. ● Contenido de archivos. ● Autoconf ● Automake ● Internacionalizacion ● intltool

Estructura de un proyecto GNU ● Estandar de ordenamiento de la FSF. ● Archivos se dividen en: – Informacion Obligatorios. – Informacion Opcionales. – Programas y configuracion.

Archivos de Informacion Obligatorios ● NEWS: Informacion con los cambios mas recientes. ● README: Descripcion general. ● AUTHORS: Lista de quienes han trabajado en el desarrollo. ● Changelog: Registro de todos los cambios que se han realizado. ● COPYNG: Especifica los derechos otorgados sobre la aplicacion. (GPL) ● INSTALL: Instrucciones de instalacion.

Archivos de Informacion Opcionales ● MAINTAINERS: Lista de responsables del proyecto. ● HACKING: Instrucciones para otros desarrolladores que quieran contribuir. ● VERSION: Indica la version del programa. ● THANKS: Credito a las personas que han contribuido. ● TODO: Directrices del desarrollo del proyecto.

Archivos de Programa y Configuracion ● configure.in: Reglas de verificacion y construccion del proyecto. ● Makefile.am: Entrada del programa automake, y sirve para generar archivos Makefile. ● src/: Directorio donde se almacena el codigo fuente(proyectos simples). ● autogen.sh: Scripts para automatizar la llamada de los archivos descritos, pero no es obligatorio.

Uso de Herramientas de Autoconfiguracion ● Directrices: – Las herramientas trabajan en torno a los archivos configure.in y Makefile.am – La definicion de estos archivos guia el funcionamiento de los programas de automatizacion. – Secuencia de comandos: aclocal, autoheader, autoconf y automake – La secuencia anterior genera el script configure y varias plantillas.in

configure.in ● Esta compuesta de macros. ● Las macros con prefijo AC_ hacen referencia a autoconf. ● Las macros con prefijo AM_ hacen referencia a automake.

Ejemplo 1: configure.in AC_INIT(configure.in) AM_INIT_AUTOMAKE(project, 0.1) 1.AC_INIT: Inicializa autoconf. 2.AM_INIT_AUTOMAKE: Genera todas las macros que automake necesita, mas los datos del proyecto. 3.aclocal: Permite generar automatica% aclocal.m4

Ejemplo 2: configure.in AC_INIT(configure.in) AM_INIT_AUTOMAKE(project, 0.1) AM_CONFIG_HEADER(config.h) 1.AC_INIT: Inicializa autoconf. 2.AM_INIT_AUTOMAKE: Genera todas las macros que automake necesita, mas los datos del proyecto. 3.AM_CONFIG_HEADER: Crea una plantilla con un conjunto de directivas #define. 4.aclocal: Permite generar automatica% aclocal.m4 5.autoheader: Genera el archivo config.h.in y el directorio autom4te.cache.

Ejemplo 3: configure.in AC_PREREQ(2.61) AC_INIT(configure.in) AM_INIT_AUTOMAKE(project, 0.1) AM_CONFIG_HEADER(config.h) AC_PROG_CC AC_OUTPUT([ Makefile src/Makefile ]) 1.AC_PREREQ: Indica que la version de autoconf debe ser igual o mayor a la requerida. 2.AC_INIT: Inicializa autoconf. 3.AM_INIT_AUTOMAKE: Genera todas las macros que automake necesita, mas los datos del proyecto. 4.AM_CONFIG_HEADER: Crea una plantilla con un conjunto de directivas #define. 5.AC_PROG_CC: Indica que es un programa en C, se requiere compilar y bibliotecas basicas. 6.AC_OUTPUT: Indica los archivos que deben ser generados. 7.aclocal: Permite generar automatica% aclocal.m4 8.autoheader: Genera el archivo config.h.in y el directorio autom4te.cache. 9.autoconf:Genera el archivo configure

Makefile.am SUBDIRS = po src ejemplodocdir = ${prefix}/doc/ejemplo ejemplodoc_DATA = \ README\ COPYING\ AUTHORS\ ChangeLog\ INSTALL\ NEWS\ TODO EXTRA_DIST = $(ejemplodoc_DATA) ● SUBDIRS: Indica subdirectorios que se deben procesar. ● Luego se indican archivos que son considerados como extras en EXTRA_DIST

src/Makefile.am INCLUDES = \ $(PACKAGE_CFLAGS) AM_CFLAGS =\ -Wall\ -g bin_PROGRAMS = ejemplo ejemplo_SOURCES = \ main.c ejemplo_LDFLAGS = ejemplo_LDADD = \ $(PACKAGE_LIBS) ● INCLUDES: Las Banderas para bibliotecas requeridas. ● AM_CFLAGS: Incluye las banderas para el compilador. ● bin_PROGRAMS: Nombre del binario. ● _SOURCES: archivos fuentes. ● _LDADDS: Bibliotecas.

Internacionalizacion ● Gettext: Utilidad que permite extraer cadenas desde programas. ● Intltool: Utilidad que extiende la funcionalidad de gettext, permitiendo la utilizacion de archivos desktop, glade, gconf, xml, etc.

Estructura del proyecto con i18n ● Agregar directorio po/ ● po/ : Almacena las cadenas traducibles. ● Contenido: – ejemplo.pot – es.po, br.po, de.po, etc : por cada idioma. – POTFILES.in : archivos que tienen cadenas traducibles. – POTFILES.skip: archivos que no tienen c. traducibles. – ChangeLog: registro de todos los cambios.

Macros a configure.in ● AM_PROG_LIBTOOL ● AM_GLIB_GNU_GETTEXT ● GETTEXT_PACKAGE ● AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Package name for gettext])