ns-3 āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĨ¤ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3

ns-3 āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĨ¤ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3
āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 1,2

3 āĻļā§āĻ°ā§ āĻ•āĻ°āĻž
3.1āĨ¤ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
3.2 āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤
3.2.1 āĻ‰ā§ŽāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
3.3 āĻ—āĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡
3.3.1 āĻŦā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ˛ā§‹āĻĄ āĻšāĻšā§āĻ›ā§‡
3.4 āĻ¸āĻŽāĻžāĻŦā§‡āĻļ ns-3
3.4.1 build.py āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚
3.4.2 āĻŦā§‡āĻ• āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚
3.4.3 āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
3.5 āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ ns-3
3.6 āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹
3.6.1 āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ
3.6.2 āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚
3.6.3 āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ

āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3

āĻļā§āĻ°ā§ āĻšāĻšā§āĻ›ā§‡

āĻāĻ‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻŸāĻŋ āĻĒāĻžāĻ āĻ•āĻ•ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ¯āĻž ns-3 āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ¨āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽāĻ—ā§āĻ˛āĻŋ, āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤āĻ—ā§āĻ˛āĻŋ, āĻ•ā§€āĻ­āĻžāĻŦā§‡ ns-3 āĻĒā§‡āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ•ā§€āĻ­āĻžāĻŦā§‡ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŦāĻ‚ āĻ¸āĻšāĻœ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ•āĻ­āĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

3.1āĨ¤ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ

ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋ āĻ¸āĻšāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§‹āĻĄ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ C++ āĻŦāĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻž āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

Ns-3 āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, ns-3 āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻœāĻ•āĻžāĻ˛ āĻ…āĻ¨ā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ†āĻ¸āĻ˛ā§‡ ns-3 āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĨāĻžāĻ•āĻž āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤ āĻ•ā§‡āĻ‰ āĻ¯āĻĻāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻžāĻ¨, āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻŽā§‡āĻ‡āĻ˛āĻŋāĻ‚ āĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ ns-āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž.

āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž ns-3 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĻā§‡āĻ–āĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻšāĻ˛ āĻŽā§‚āĻ˛ āĻ¸āĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻšāĻ˛ āĻŽā§ŒāĻ˛āĻŋāĻ• ns-3 āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻžāĻŦā§‡āĻļāĨ¤ āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻšāĻ˛ ns-3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ†āĻ˛āĻžāĻĻāĻžāĨ¤

āĻ…āĻ­āĻŋāĻœā§āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ­āĻžāĻŦāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•ā§‡āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ ns-3 āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž? āĻ¯āĻĻāĻŋāĻ“ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ¯ā§‡āĻŽāĻ¨ āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨), āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ ns-3 āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻ•āĻž āĻ¸āĻšāĻœāĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻŦāĨ¤

āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻļāĻŋāĻ•āĻĄāĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§€āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

3.2 āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤

āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ ns-3 āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§‡āĻŸā§‡āĻ° āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ-āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…āĻ‚āĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ (āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž) āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: āĻāĻ•āĻŸāĻŋ C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°, āĻĒāĻžāĻ‡āĻĨāĻ¨, āĻāĻ•āĻŸāĻŋ āĻ‰ā§ŽāĻ¸ āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ• (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¤ā§‡āĻœ, Emacs āĻŦāĻž āĻ…āĻ¨ā§āĻ§āĻ•āĻžāĻ°) āĻāĻŦāĻ‚, āĻ¯āĻĻāĻŋ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ—āĻŋāĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ ns-3 āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻ¯āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻ‡āĻ•āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŸāĻŋāĻĒāĻ¸ āĻāĻŦāĻ‚ āĻ•ā§ŒāĻļāĻ˛ āĻ¸āĻš āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ°āĻ•āĻŽ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻšāĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻž, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¸āĻš, āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§: https://www.nsnam.org/wiki/Installation.

āĻāĻ‡ āĻ‰āĻ‡āĻ•āĻŋāĻ° āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ ns-3 āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦāĻž macOS-āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢā§āĻ˛ā§‡āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋāĻ“ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ ns-3 āĻ‰āĻ‡āĻ•āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻŦāĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻ…āĻ¨ā§āĻŦā§‡āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ¸āĻĻā§āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨: https://www.nsnam.org, āĻ•āĻžāĻ°āĻŖ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¤āĻĨā§āĻ¯ āĻ†āĻ›ā§‡āĨ¤ ns-3 (ns-3.29) āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, ns-3 āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨:

āĻŸā§āĻ˛ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ/āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ

  • C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°
    āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚++ āĻŦāĻž āĻœāĻŋ++ (āĻœāĻŋ++ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 4.9 āĻŦāĻž āĻ‰āĻšā§āĻšāĻ¤āĻ°)
  • āĻĒāĻžāĻ‡āĻĨāĻ¨
    python2 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ >= 2.7.10, āĻ…āĻĨāĻŦāĻž python3 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ >=3.4
  • git
    āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ (GitLab.com āĻ ns-3 āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡)
  • āĻ†āĻ˛āĻ•āĻžāĻ¤āĻ°āĻž
    āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ (āĻāĻ¨āĻāĻ¸-ā§Š āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯)
  • bunzip2
    āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ (NS-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯)

āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨ python -V. āĻœāĻŋ++ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§āĻ¨ g++ -v. āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŦāĻž āĻ–ā§āĻŦ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ ns-3 āĻ‰āĻ‡āĻ•āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ—āĻžāĻ‡āĻĄ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤

āĻāĻ–āĻ¨ āĻĨā§‡āĻ•ā§‡, āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻĒāĻžāĻ āĻ• āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻŽā§āĻ¯āĻžāĻ•āĻ“āĻāĻ¸ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

3.2.1 āĻ‰ā§ŽāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻ¯āĻž ns-3 āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧāĨ¤ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ•āĻŽā§āĻĒā§āĻ°ā§‡āĻ¸āĻĄ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛. āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¯āĻžāĻ¤ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ. ns-3 āĻŦā§āĻŸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛ āĻ¸āĻšāĻœ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻ¨āĻĒā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ§āĻ°ā§āĻ¨ āĻ†āĻĒāĻ¨āĻŋ, āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°. āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻŸāĻŋ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡)

$ cd 
$ mkdir workspace 
$ cd workspace 
$ wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2 
$ tar xjf ns-allinone-3.29.tar.bz2 

āĻ‰āĻĒāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨ wget āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŸā§āĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ ns-allinone-3.29 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡

$ cd ns-allinone-3.29
$ ls
bake constants.py ns-3.29 README
build.py netanim-3.108 pybindgen-0.17.0.post58+ngcf00cc0 util.py

āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻŦāĻ‚ ns-3 āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

3.3 āĻ—āĻŋāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

ns-3 āĻ•ā§‹āĻĄāĻŸāĻŋ GitLab.com-āĻ āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ https://gitlab.com/nsnam/. āĻ—ā§āĻ°ā§āĻĒ nsnam āĻāĻ•āĻŸāĻŋ āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻ—āĻŋāĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĒāĻ°āĻŋāĻŦā§‡āĻļāĻ•ā§‡ āĻ•āĻžāĻāĻŸāĻžāĻšāĻžāĻŽāĻš āĻŦāĻž āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻž ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨. āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻ¸ā§‡āĻŸ āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ ns-3 āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ—āĻŋāĻŸā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻ¯āĻŧā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ "āĻĢāĻ°ā§āĻ•" āĻāĻŦāĻ‚ "āĻ•ā§āĻ˛ā§‹āĻ¨" āĻļāĻŦā§āĻĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ…āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡; āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ‡ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ GitLab.com-āĻ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻŸāĻŋ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§āĻ¨ (āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨):

$ cd 
$ mkdir workspace 
$ cd workspace 
$ git clone https://gitlab.com/nsnam/ns-3-allinone.git 
$ cd ns-3-allinone 

āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻĻā§ƒāĻļā§āĻ¯ ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¨ā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻž āĻ‰āĻšāĻŋāĻ¤:

$ ls
build.py constants.py download.py README util.py

āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ†āĻ›ā§‡ āĻ¯ā§‡ āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ download.py, āĻ¯āĻž āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡ ns-3 āĻāĻŦāĻ‚ āĻ¸āĻšāĻ—āĻžāĻŽā§€ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻŦā§‡āĻ° āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ†āĻ›ā§‡: āĻšāĻ¯āĻŧ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ ns-3 āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨:

$ python download.py

āĻ…āĻĨāĻŦāĻž āĻĒāĻ¤āĻžāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§āĻ¨ -n āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡:

$ python download.py -n ns-3.29

āĻāĻ‡ āĻ§āĻžāĻĒā§‡āĻ° āĻĒāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻŦā§‡ ns-3, āĻ¸ā§‡āĻ•āĻž, āĻĒāĻžāĻ‡āĻŦāĻŋāĻ¨ā§āĻĄāĻœā§‡āĻ¨ и āĻ¨ā§‡āĻ¤āĻžāĻ¨āĻŋāĻŽ.

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‰āĻŦā§āĻ¨ā§āĻŸā§16.04 āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡, āĻ†āĻŽāĻžāĻ•ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡: $ sudo python3 download.py -n ns-3.29 (āĻāĻ°āĻĒāĻ°ā§‡ āĻ…āĻ¨ā§āĻŦāĻžāĻĻāĻ•ā§‡āĻ° āĻ¨ā§‹āĻŸ)āĨ¤

3.3.1 āĻŦā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ns-3 āĻ˛ā§‹āĻĄ āĻšāĻšā§āĻ›ā§‡

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻ‰ā§ŽāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻŦāĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ Git āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡) āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĄāĻ…āĻ¨ āĻ¸āĻš āĻ¸āĻšāĻœāĻ¤āĻŽ ns-3 āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĻĒāĻžāĻ‡āĻŦāĻŋāĻ¨ā§āĻĄāĻœā§‡āĻ¨ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻ¤āĻžāĻ¨āĻŋāĻŽ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤ ns-3-allinone-āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ•āĻž.

āĻ¸ā§‡āĻ•āĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ˛, āĻ¯āĻž ns-3 āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸ā§‡āĻ•āĻž ns-3-āĻāĻ° āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§‡āĻ¤ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻŦā§‡āĻ¸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨, CradleNetwork āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻĄāĻ˛, āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ ns-3 "āĻ…ā§āĻ¯āĻžāĻĒ" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
CradleNetwork Simulation Cradle āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ TCP/IP āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻļāĻž āĻ•āĻ°ā§‡āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° ns-3 āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦāĻž āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĨāĻžāĻ•āĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻĨ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœā§‡ āĻ¸ā§‡āĻ•āĻž āĻŸāĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻœā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ°āĻŋāĻ˛āĻŋāĻœāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¯ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸ā§‡āĻ•āĻž, āĻ¯āĻž āĻ°āĻŋāĻ˛āĻŋāĻœ ns-3.29 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, ns-3 āĻŦāĻž āĻ¤āĻžāĻ° āĻ†āĻ—ā§‡āĻ° āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž (āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĢāĻžāĻ‡āĻ˛ bakeconf.xml āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ)āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ•āĻĒāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¸ā§‡āĻ•āĻžāĻ†āĻĒāĻ¨āĻžāĻ° āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¨ (āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻšā§āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻŋāĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨):

$ cd 
$ mkdir workspace 
$ cd workspace 
$ git clone https://gitlab.com/nsnam/bake.git

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ—āĻŋāĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨, āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

Cloning into 'bake'...
remote: Enumerating objects: 2086, done. 
remote: Counting objects: 100% (2086/2086), done. 
remote: Compressing objects: 100% (649/649), done. 
remote: Total 2086 (delta 1404), reused 2078 (delta 1399) 
Receiving objects: 100% (2086/2086), 2.68 MiB | 3.82 MiB/s, done. 
Resolving deltas: 100% (1404/1404), done.

āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¸ā§‡āĻ•āĻž, āĻ¯āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

$ cd bake
$ ls
bake bakeconf.xml bake.py doc examples generate-binary.py test TODO

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨, āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻžāĻŽā§‡ āĻ¸ā§‡āĻ•āĻž āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ XML āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĨ¤ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻžāĻ¸ā§āĻŸāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§:

  1. ns-3.29: āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛; āĻāĻŸāĻŋ āĻŸāĻžāĻ°āĻŦāĻ˛ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŦā§‡;

  2. ns-3-dev: āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŽāĻĄāĻŋāĻ‰āĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ—āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡;

  3. ns-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨-3.29: āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§āĻ˛āĻŋāĻ• āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻĄāĻ˛, ns-3 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻĒā§‡āĻ¨āĻĢā§āĻ˛ā§‹ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤

  4. ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨: āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ allinone, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ•ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻ•ā§āĻ˛āĻŋāĻ• — āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°āĨ¤

āĻ“āĻĒā§‡āĻ¨āĻĢā§āĻ˛ā§‹ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ āĻ¯āĻž āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻ¸ā§āĻ‡āĻš āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°-āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ (āĻ¨āĻ¨-āĻ°āĻŋāĻ˛āĻŋāĻœ) ns-3 āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡:https://gitlab.com/nsnam/ns-3-dev.git.

āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻ°āĻž āĻāĻ‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻœā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ…āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻœāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ā§ˇ

āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦā§āĻ°āĻžāĻ‰āĻœ āĻ•āĻ°ā§‡ āĻŦāĻž ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ—āĻŋāĻ¯āĻŧā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:https://www.nsnam.org/releases/ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ˛āĻŋāĻ™ā§āĻ•ā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž ns-3.29 āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦāĨ¤

āĻāĻ–āĻ¨, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ ns-3 āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§‡āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻŸā§āĻ˛āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¸ā§‡āĻ•āĻž. āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋāĻŽā§‚āĻ˛āĻ• āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋ āĻ¸ā§‡āĻ•āĻž.

āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‰āĻ¤ā§āĻ¸ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ āĻŦā§‡āĻ• āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ‰ā§ŽāĻ¸ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĨ¤ āĻ¸ā§‡āĻ•āĻž āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ•āĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¸ā§‡āĻ•āĻž āĻ¯ā§‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻ¨āĻ¯āĻŧ, āĻāĻ¤ā§‡ āĻĒāĻžāĻĨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ•āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻĨā§‡ (PATH āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛), āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ (āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻžāĻļ āĻļā§‡āĻ˛ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ)āĨ¤ "āĻŦā§‡āĻ•" āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨:

$ export BAKE_HOME=`pwd` 
$ export PATH=$PATH:$BAKE_HOME:$BAKE_HOME/build/bin 
$ export PYTHONPATH=$PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/lib

āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡ bake.py āĻļā§‡āĻ˛ āĻĒāĻžāĻĨā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡ āĻ¸ā§‡āĻ•āĻž. āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§‡āĻ•āĻž, āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ PATH āĻāĻŦāĻ‚ PYTHONPATH āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§‡ ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ (āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻš) āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨:

$ ./bake.py configure -e ns-3.29

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ†āĻŽāĻ°āĻž āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻŦ āĻ¸ā§‡āĻ•āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛ āĻ•āĻ°ā§āĻ¨:

$ ./bake.py check

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽāĻ¤ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

> Python - OK 
> GNU C++ compiler - OK 
> Mercurial - OK 
> Git - OK 
> Tar tool - OK 
> Unzip tool - OK 
> Make - OK 
> cMake - OK 
> patch tool - OK 
> Path searched for tools: /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin ...

āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻŽāĻžāĻ°ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, āĻ¸āĻŋāĻ­āĻŋāĻāĻ¸, āĻ—āĻŋāĻŸ āĻāĻŦāĻ‚ āĻŦāĻžāĻœāĻžāĻ°ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻāĻ‡ āĻ§āĻžāĻĒā§‡ āĻ…āĻĒāĻ°āĻŋāĻšāĻžāĻ°ā§āĻ¯ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻĒā§‡āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧā§ˇ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ (āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨ā§‡āĻ¨) āĻŦāĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

$ ./bake.py download

āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤:

>> Searching for system dependency setuptools - OK 
>> Searching for system dependency libgoocanvas2 - OK 
>> Searching for system dependency gi-cairo - OK 
>> Searching for system dependency pygobject - OK 
>> Searching for system dependency pygraphviz - OK 
>> Searching for system dependency python-dev - OK 
>> Searching for system dependency qt - OK 
>> Searching for system dependency g++ - OK 
>> Downloading pybindgen-0.19.0.post4+ng823d8b2 (target directory:pybindgen) - OK 
>> Downloading netanim-3.108 - OK 
>> Downloading ns-3.29 - OK

āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻŦā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ‰ā§ŽāĻ¸ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ ls āĻ˛āĻŋāĻ–ā§āĻ¨; āĻ¤ā§‹āĻŽāĻžāĻ° āĻĻā§‡āĻ–āĻž āĻ‰āĻšāĻŋāĻ¤:

$ cd source 
$ ls
netanim-3.108 ns-3.29 pybindgen

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤

3.4 āĻ¸āĻŽāĻžāĻŦā§‡āĻļ ns-3

ns-3 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹, ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋāĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻž āĻšāĻ˛ ns-3 āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ WafāĻ¨ā§€āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤. āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ Waf, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ†āĻ°āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ¤āĻžāĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻĄāĻŧāĻž āĻ†āĻ—ā§‡ āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ Waf, āĻāĻ•āĻŦāĻžāĻ° āĻĻā§‡āĻ–ā§‡ āĻ¨āĻŋāĻ¨ build.py āĻāĻŦāĻ‚ āĻ¸āĻ™ā§āĻ—ā§‡ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻ¸ā§‡āĻ•āĻž.

3.4.1 build.py āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚

āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻāĻ‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ§āĻžāĻĒāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ‰ā§ŽāĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§; āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸ āĻŦāĻž āĻŦā§‡āĻ• āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻ—āĻžāĻ° āĻ¸āĻ™ā§āĻ—ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻ‡āĻ¨ ns-3-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ build.py. āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ ns-3 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ°āĻ“ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻāĻŦāĻ‚ āĻ•āĻžāĻœ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ ns-3 āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ, Waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻĒāĻ°ā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ˛ā§‡ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ ~/āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻĒā§‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ•āĻŋāĻ›ā§ āĻŽāĻ¤ ns-āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§‹āĻ¨-3.29. āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ°āĻŦā§‡āĻļ:

$ ./build.py --enable-examples --enable-tests

āĻĄāĻžāĻ•āĻ˛ā§‡ build.py āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž ns-3 āĻ¤ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻŦāĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻšā§āĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ‚āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§‡āĻŸāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡ āĻ¨ā§‡āĻ¤āĻžāĻ¨āĻŋāĻŽ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦāĻžāĻāĻ§āĻžāĻ‡ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻĒāĻžāĻ‡āĻŦāĻŋāĻ¨ā§āĻĄāĻœā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§‡āĻˇā§‡ ns-3. āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

Waf: Leaving directory '/path/to/workspace/ns-allinone-3.29/ns-3.29/build'
'build' finished successfully (6m25.032s) 

Modules built:
antenna                aodv                     applications
bridge                 buildings                config-store
core                   csma                     csma-layout
dsdv                   dsr                      energy 
fd-net-device          flow-monitor             internet
internet-apps          lr-wpan                  lte
mesh                   mobility                 mpi
netanim (no Python)    network                  nix-vector-routing 
olsr                   point-to-point           point-to-point-layout 
propagation            sixlowpan                spectrum 
stats                  tap-bridge               test (no Python) 
topology-read          traffic-control          uan 
virtual-net-device     visualizer               wave 
wifi                   wimax 

Modules not built (see ns-3 tutorial for explanation):
brite                  click                    openflow 
Leaving directory ./ns-3.29

āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ:

Modules not built (see ns-3 tutorial for explanation):
brite                     click

āĻāĻ° āĻ¸āĻšāĻœ āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ ns-3 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¯āĻž āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻŦāĻž āĻāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻāĻ‡ āĻ¨āĻ¯āĻŧ āĻ¯ā§‡ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°āĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻŦāĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

3.4.2 āĻŦā§‡āĻ• āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ‚

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§‹āĻœā§‡āĻ•ā§āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĒā§‡āĻ¤ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻŦā§‡āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛ āĻ•āĻ°ā§āĻ¨:

$ ./bake.py build

āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

>> Building pybindgen-0.19.0.post4+ng823d8b2 - OK 
>> Building netanim-3.108 - OK 
>> Building ns-3.29 - OK

āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯: āĻ†āĻĒāĻ¨āĻŋ "bake.py deploy" āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ‰āĻ­āĻ¯āĻŧ āĻ§āĻžāĻĒāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻšāĻ˛āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ• āĻŦāĻšāĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻŋāĻ˛ āĻ¯ā§‡ castxml āĻŸā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¸ā§‡āĻ•āĻž āĻ¸āĻŦ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ‡ āĻŽāĻ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡:

>> Building castxml - Problem 
> Problem: Optional dependency, module "castxml" failed
This may reduce the functionality of the final build.
However, bake will continue since "castxml" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ castxml āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ° āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ (āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ¤āĻžāĻ°āĻž ns-3 āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤), āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻĻā§‡āĻŦā§‡:

$ ./bake.py show

āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ›ā§‡āĻ¨ āĻ¤āĻžāĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

3.4.3 āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨

āĻāĻ‡ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ build.py, āĻŦāĻž āĻŸā§āĻ˛ āĻ¸ā§‡āĻ•āĻž. āĻāĻ‡ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤ āĻ†āĻ¸āĻ˛ā§‡, āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻŸā§āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ Waf ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡āĨ¤ Waf ns-3 āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦā§‡āĻļā§€āĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻ°ā§āĻ¤ NS-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¨ Waf. āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡, āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¨ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡ āĻāĻŸāĻŋ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻŦā§āĻ¯āĻžāĻ•āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻŦā§‡āĨ¤ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ— āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ā§ˇ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻĄ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻœāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•āĨ¤ āĻ“āĻ¯āĻŧāĻžāĻĢāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻĄ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡:

$ ./waf clean 
$ ./waf configure --build-profile=optimized --enable-examples --enable-tests

āĻāĻ‡ āĻšāĻžāĻ˛ā§ āĻšāĻŦā§‡ Waf āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ (āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ (āĻ¨ā§€āĻšā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ“ āĻĻā§‡āĻ–ā§āĻ¨); āĻāĻŸāĻŋ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ/. āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡:

Setting top to      : /home/ns3user/workspace/bake/source/ns-3-dev
Setting out to      : /home/ns3user/workspace/bake/source/ns-3-dev/build
Checking for 'gcc' (C compiler)        : /usr/bin/gcc 
Checking for cc version                : 7.3.0 
Checking for 'g++' (C++ compiler)      : /usr/bin/g++ 
Checking for compilation flag -march=native support : ok 
Checking for compilation flag -Wl,--soname=foo support : ok 
Checking for compilation flag -std=c++11 support       : ok 
Checking boost includes   : headers not found, please ,!provide a --boost-includes argument (see help) 
Checking boost includes   : headers not found, please ,!provide a --boost-includes argument (see help) 
Checking for program 'python'            : /usr/bin/python 
Checking for python version >= 2.3       : 2.7.15 python-config                                                                     : /usr/bin/python-config
Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes
Testing pyembed configuration                                      : yes
Asking python-config for pyext '--cflags --libs --ldflags' flags   : yes
Testing pyext configuration                                        : yes

Checking for compilation flag -fvisibility=hidden support          : ok 
Checking for compilation flag -Wno-array-bounds support            : ok 
Checking for pybindgen location          : ../pybindgen ,!(guessed) 
Checking for python module 'pybindgen'   : 0.19.0. ,!post4+g823d8b2 
Checking for pybindgen version           : 0.19.0. ,!post4+g823d8b2 
Checking for code snippet                : yes 
Checking for types uint64_t and unsigned long equivalence : no 
Checking for code snippet                                 : no 
Checking for types uint64_t and unsigned long long equivalence     : yes 
Checking for the apidefs that can be used for Python bindings                       : gcc-LP64 
Checking for internal GCC cxxabi         : complete 
Checking for python module 'pygccxml'    : not found 
Checking for click location              : not found 
Checking for program 'pkg-config'        : /usr/bin/pkg- ,!config 
Checking for 'gtk+-3.0'                  : not found 
Checking for 'libxml-2.0'                : yes 
checking for uint128_t                   : not found 
checking for __uint128_t                 : yes 
Checking high precision implementation   : 128-bit integer ,!(default) 
Checking for header stdint.h             : yes 
Checking for header inttypes.h           : yes 
Checking for header sys/inttypes.h       : not found 
Checking for header sys/types.h          : yes 
Checking for header sys/stat.h           : yes 
Checking for header dirent.h             : yes 
Checking for header stdlib.h             : yes 
Checking for header signal.h             : yes 
Checking for header pthread.h            : yes 
Checking for header stdint.h             : yes 
Checking for header inttypes.h           : yes 
Checking for header sys/inttypes.h       : not found
Checking for library rt                  : yes 
Checking for header sys/ioctl.h          : yes 
Checking for header net/if.h             : yes 
Checking for header net/ethernet.h       : yes 
Checking for header linux/if_tun.h       : yes 
Checking for header netpacket/packet.h   : yes 
Checking for NSC location                : not found 
Checking for 'sqlite3'                   : not found 
Checking for header linux/if_tun.h       : yes 
Checking for python module 'gi'          : 3.26.1 
Checking for python module 'gi.repository.GObject'      : ok 
Checking for python module 'cairo'                      : ok 
Checking for python module 'pygraphviz'                 : 1.4rc1 
Checking for python module 'gi.repository.Gtk'          : ok 
Checking for python module 'gi.repository.Gdk'          : ok 
Checking for python module 'gi.repository.Pango'        : ok 
Checking for python module 'gi.repository.GooCanvas'    : ok 
Checking for program 'sudo'                             : /usr/bin/sudo 
Checking for program 'valgrind'                         : not found 
Checking for 'gsl' : not found python-config            : not found 
Checking for compilation flag -fstrict-aliasing support : ok 
Checking for compilation flag -fstrict-aliasing support : ok 
Checking for compilation flag -Wstrict-aliasing support : ok 
Checking for compilation flag -Wstrict-aliasing support : ok 
Checking for program 'doxygen'                          : /usr/bin/doxygen
---- Summary of optional ns-3 features:
Build profile : optimized
Build directory : 
BRITE Integration : not enabled (BRITE not enabled (see option --with- ,!brite)) 
DES Metrics event collection : not enabled (defaults to disabled) 
Emulation FdNetDevice        : enabled 
Examples                     : enabled 
File descriptor NetDevice    : enabled 
GNU Scientific Library (GSL) : not enabled (GSL not found) 
Gcrypt library               : not enabled
(libgcrypt not found: you can use ,!libgcrypt-config to find its location.) GtkConfigStore               : not enabled (library 'gtk+-3.0 >= 3.0' not fou   nd)
MPI Support                  : not enabled (option --enable-mpi not selected)
ns-3 Click Integration       : not enabled (nsclick not enabled (see option --with- ,!nsclick))
ns-3 OpenFlow Integration   : not enabled (Required boost libraries not found) 
Network Simulation Cradle    : not enabled (NSC not found (see option --with-nsc))
PlanetLab FdNetDevice         : not enabled (PlanetLab operating system not detected ,!(see option --force-planetlab)) PyViz visualizer : enabled 
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)
Python Bindings : enabled 
Real Time Simulator           : enabled 
SQlite stats data output      : not enabled (library 'sqlite3' not found)
Tap Bridge                    : enabled 
Tap FdNetDevice               : enabled
Tests                         : enabled 
Threading Primitives          : enabled 
Use sudo to set suid bit   : not enabled (option --enable-sudo not selected)
XmlIo                         : enabled
'configure' finished successfully (6.387s)

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇ āĻ…āĻ‚āĻļ āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨. āĻ•āĻŋāĻ›ā§ ns-3 āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻŦāĻž āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, XmlTo āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡, āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ libxml-2.0. āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ ns-3 āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ suid āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ "āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡ āĻ—ā§āĻ°ā§āĻĒ āĻ†āĻ‡āĻĄāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨"āĨ¤ āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ "āĻ¸āĻ•ā§āĻˇāĻŽ āĻ¨āĻ¯āĻŧ" āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ Waf āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸āĻš --check-config.

āĻāĻ–āĻ¨ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ‡ āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻš āĻĄāĻŋāĻŦāĻžāĻ— āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ‡āĨ¤

$ ./waf clean 
$ ./waf configure --build-profile=debug --enable-examples --enable-tests

āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ–āĻ¨ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$ ./waf

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§āĻ‡āĻŦāĻžāĻ° ns-3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ…āĻ‚āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻĄ āĻ•ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻœāĻžāĻ¨ā§‡āĻ¨āĨ¤

āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

$ ./waf --check-profile 
Waf: Entering directory `/path/to/ns-3-allinone/ns-3.29/build' 
Build profile: debug

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĻā§ƒāĻļā§āĻ¯āĻ•āĻ˛ā§āĻĒ build.py āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ --enable-examples и --enable-tests, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ Waf āĻāĻŸāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž:

$ ./build.py --disable-python

āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ‡ āĻŽāĻ¤ āĻšāĻŦā§‡:

build.py: error: no such option: --disable-python

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŦāĻŋāĻļā§‡āĻˇ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° - - āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢāĻ¤āĻžāĻ‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡:

$ ./build.py -- --disable-python

āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ ./waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° --disable-python. āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°ā§‹ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻšāĻžāĻ¯āĻŧāĻ• āĻŸāĻŋāĻĒāĻ¸ āĻ†āĻ›ā§‡ Waf.

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ Linux āĻāĻŦāĻ‚ MacOS āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻœ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ āĻšāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ ns-3 āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ•ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĢā§‡āĻĄā§‹āĻ°āĻž 3.28-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§‚āĻ°ā§āĻŦā§‡ ns‑28 āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ›āĻŋāĻ˛ āĻœāĻŋāĻ¸āĻŋāĻ¸āĻŋ (gcc-8) Fedora 3.28 āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ°āĻŋāĻ˛āĻŋāĻœ ns-28 āĻŦāĻž āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž, Gtk2+ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡:

/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: error: unnecessary parentheses ,!in declaration of ‘__gtk_reserved1’ [-Werror=parentheses] void (*__gtk_reserved1);

ns‑3.28.1 āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻšāĻ“āĻ¯āĻŧāĻž āĻ°āĻŋāĻ˛āĻŋāĻœā§‡, āĻ‡āĻ¨ Waf āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻāĻŸāĻŋ g++ āĻāĻŦāĻ‚ clang++ āĻ "-Werror" āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ "--disable-werror" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

$ ./waf configure --disable-werror --enable-examples --enable-tests

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻŦāĻž āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨

āĻ•āĻŋāĻ›ā§ āĻ†āĻĻā§‡āĻļ Waf āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ…āĻ°ā§āĻĨ āĻ†āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻĢā§‡āĻœā§‡ āĻŦā§ˆāĻ§āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ ns-3 āĻāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻŋāĻŸ āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĻāĻ•ā§āĻˇāĻŋāĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ‰āĻŦā§āĻ¨ā§āĻŸā§, āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤. āĻāĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ§āĻžāĻĒā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻĄ āĻ•āĻ°āĻŦā§‡, āĻāĻŦāĻ‚ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

$ ./waf configure --enable-sudo --enable-examples --enable-tests

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ•āĻžāĻœ Waf āĻšāĻžāĻ˛ā§ āĻšāĻŦā§‡ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸āĻš āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄ āĻ¸āĻ•ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻļāĻŋāĻ•āĻĄāĻŧāĨ¤ āĻĻā§āĻ¯ Waf āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ§āĻžāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ†āĻ›ā§‡. āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻŦā§‡āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ˛āĻŋāĻ–ā§āĻ¨:

$ ./waf --help

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ›ā§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸āĻ‚āĻ•ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛

āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ Waf āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŦāĻžāĻ—ā§ āĻ•āĻ°āĻž и āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ:

$ ./waf --build-profile=debug

āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻŽā§āĻ•ā§āĻ¤āĻŋ. āĻ…āĻĒāĻļāĻ¨ -d āĻāĻ° āĻ¸āĻŽāĻžāĻ°ā§āĻĨāĻ• --build-profile. āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ āĻ˛āĻ—āĻŋāĻ‚, āĻĻāĻžāĻŦā§€ āĻāĻŦāĻ‚ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¸ā§āĻ‡āĻšāĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡:

ns-3 āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĨ¤ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ˛āĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĻāĻžāĻŦā§€ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻŦāĻŋāĻ˛ā§āĻĄā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨āĻŸāĻŋ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĄāĻŋāĻŦāĻžāĻ— āĻŽā§‹āĻĄā§‡ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻž, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻ•āĻ°āĻž (āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻŦāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯)āĨ¤

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻĄ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ‰āĻšāĻŋāĻ¤, āĻ•ā§‹āĻĄ āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ° āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

NS_BUILD_DEBUG (std::cout << "Part of an output line..." << std::flush; timer.Start ,!()); DoLongInvolvedComputation ();
NS_BUILD_DEBUG (timer.Stop (); std::cout << "Done: " << timer << std::endl;)

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ, Waf āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - -outāĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,

$ ./waf configure --out=my-build-dir

āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

$ ./waf configure --build-profile=debug --out=build/debug
$ ./waf build
... 
$ ./waf configure --build-profile=optimized --out=build/optimized 
$ ./waf build
...

āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻŽāĻžāĻŦā§‡āĻļ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻ–āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ…āĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¯āĻžāĻ¨, Waf āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻ•āĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ­ā§āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡:

$ export NS3CONFIG="--enable-examples --enable-tests" 
$ export NS3DEBUG="--build-profile=debug --out=build/debug"
$ export NS3OPT=="--build-profile=optimized --out=build/optimized" 

$ ./waf configure $NS3CONFIG $NS3DEBUG
$ ./waf build 
... 
$ ./waf configure $NS3CONFIG $NS3OPT
$ ./waf build

āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻāĻŦāĻ‚ āĻĒāĻ¤āĻžāĻ•āĻž

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ Waf ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ GCC āĻĨā§‡āĻ•ā§‡ C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ( g ++) āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ Waf C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°, CXX āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, C++ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° Clang āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, clang++,

$ CXX="clang++" ./waf configure 
$ ./waf build 

āĻāĻ•āĻ‡ āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ Waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ•ā§ƒāĻ¤ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ distcc:

$ CXX="distcc g++" ./waf configure 
$ ./waf build

distcc āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ•ā§ƒāĻ¤ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¤āĻĨā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡āĨ¤ ns-3 āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ— āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡, CXXFLAGS_EXTRA āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤

āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸

Waf āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻāĻ‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻœāĻžāĻ¨ā§‡, āĻ¤āĻžāĻ‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡āĨ¤

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°āĻ˛ā§‡, āĻ¤āĻžāĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ ./waf āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛. āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻšāĻ¯āĻŧ , / Usr / āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ¯ā§‡ āĻ•ā§‡āĻ¨ ./waf āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ , / Usr / āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ / āĻŦāĻŋāĻ¨, āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ , / Usr / local / lib āĻāĻŦāĻ‚ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻĢāĻžāĻ‡āĻ˛ /usr/local/include. āĻ¸ā§āĻĒāĻžāĻ° āĻ‡āĻ‰āĻœāĻžāĻ° āĻ…āĻ§āĻŋāĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻŦā§‡ sudo ./waf āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨. āĻšāĻžāĻ˛ā§ āĻšāĻ˛ā§‡, Waf āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻŦā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻĒāĻĨ āĻ§āĻ°ā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻ āĻŋāĻ• āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ…āĻ­ā§āĻ¯āĻžāĻ¸āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ --prefixāĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ,

./waf configure --prefix=/opt/local

āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§‡, āĻŦāĻŋāĻ˛ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡ ./waf, āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ /āĻ…āĻĒā§āĻŸ/āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ.

āĻŸā§€āĻŽ ./waf clean āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• Waf āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ…āĻ§ā§€āĻ¨ā§‡āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡ ./waf install. āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ Waf āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ ns-3 āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ“āĻ¯āĻŧāĻžāĻĢ āĻāĻ•āĻ•

ns-3 āĻ‰ā§ŽāĻ¸ āĻ—āĻžāĻ›ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§āĻ¤āĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻ˛āĻŋāĻĒāĻŋ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ•āĻŦāĻžāĻ° āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻŦā§‡āĻ¨ scratch/ āĻŦāĻž āĻ†āĻ°āĻ“ āĻ—āĻ­ā§€āĻ°ā§‡src/... āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡ Waf. āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡āĻ¨ āĻ¤āĻž āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĻā§ŒāĻĄāĻŧāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ Waf āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:

$ ../../../waf ...

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒā§āĻ°āĻŦāĻŖ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ†āĻ›ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ• āĻ¯ā§‡āĻŽāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž Emacs āĻŦāĻž āĻ¤ā§‡āĻœ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻ¸ā§‡āĻļāĻ¨ āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ ns-3 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ āĻ‰ā§ŽāĻ¸ āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

$ export NS3DIR="$PWD" 
$ function waff { cd $NS3DIR && ./waf $* ; } 

$ cd scratch 
$ waff build

āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻšā§āĻ› waf āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‹āĻ­āĻ¨ā§€āĻ¯āĻŧ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ exec ../../waf. āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž. āĻāĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ•āĻ° āĻāĻŦāĻ‚, āĻ¯āĻ–āĻ¨ āĻ–āĻžāĻ°āĻžāĻĒāĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ•āĻ āĻŋāĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻ¯ā§‡ āĻĒāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

3.5 āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ ns-3

āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ ns-3 āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ‡āĻ‰āĻ¨āĻŋāĻŸ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ ./test.py:

$ ./test.py

āĻāĻ‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ Waf. āĻ…āĻŦāĻļā§‡āĻˇā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻŦāĻ˛āĻ›ā§‡:

92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)

āĻāĻŸāĻŋ āĻ­ā§āĻ¯āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ, āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻŦāĻž āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻžāĻ°ā§āĻ¤āĻž, āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŦāĻž āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻĨā§‡āĻ•ā§‡ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ Waf āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡āĻ¨ āĻāĻ•āĻœāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻ•, āĻ¯āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻāĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻšāĻŦā§‡:

Waf: Entering directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build' 
Waf: Leaving directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build' 
'build' finished successfully (1.799s) 

Modules built:
aodv           applications          bridge
click          config-store          core
csma           csma-layout           dsdv
emu            energy                flow-monitor
internet       lte                   mesh
mobility       mpi                   netanim
network        nix-vector-routing    ns3tcp
ns3wifi        olsr                  openflow
point-to-point point-to-point-layout propagation
spectrum       stats                 tap-bridge
template       test                  tools
topology-read  uan                   virtual-net-device
visualizer     wifi                  wimax

PASS: TestSuite ns3-wifi-interference
PASS: TestSuite histogram 

...

PASS: TestSuite object
PASS: TestSuite random-number-generators
92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)

ns-3 āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ (āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ "āĻĒāĻžāĻ¸: ..." āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻ•ā§āĻ°āĻŽ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĨ¤ āĻ¯ā§‡āĻŸāĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻž āĻšāĻ˛ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡; āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻŦāĻž āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤) āĻāĻŦāĻ‚ WafāĻāĻŦāĻ‚ test.py āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ•ā§‹āĻ° āĻœā§āĻĄāĻŧā§‡ āĻ•āĻžāĻœ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ•āĻ°āĻŦā§‡āĨ¤

3.6 āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹

āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ‡ Waf. āĻāĻŸāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĒāĻžāĻĨāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ Waf āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸āĻš - -run. āĻšāĻ˛ā§āĻ¨ āĻ¸āĻ°ā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ ns-3 āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ“āĻšā§‡ āĻŦāĻŋāĻļā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡:

$ ./waf --run hello-simulator

āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻŦā§‡ āĻ¯ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° Waf āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻŦā§‡āĨ¤

Hello Simulator

āĻ…āĻ­āĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨! āĻ†āĻĒāĻ¨āĻŋ āĻāĻ–āĻ¨ āĻāĻ•āĻœāĻ¨ ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€!

āĻ†āĻŽāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¨āĻž āĻĒā§‡āĻ˛ā§‡ āĻ†āĻŽāĻžāĻ° āĻ•āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¨ WafāĻ‡āĻ™ā§āĻ—āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ¨āĻž "āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°", āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ†āĻ›ā§‡ āĻ¯ā§‡ [āĻŦāĻŋāĻ˛ā§āĻĄ-āĻ‰āĻ‡āĻĨ-āĻ“āĻ¯āĻŧāĻžāĻĢ] āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻŽā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽā§‹āĻĄā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻŽāĻŋāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻĄā§‡āĻŦāĻžāĻ—ā§ āĻ•āĻ°āĻž. āĻāĻ‡ āĻŸāĻŋāĻ‰āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ ns-3 āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ˛āĻ—āĻŋāĻ‚ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ•āĻžāĻ¸ā§āĻŸāĻŽ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻ–āĻ¨ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻ•ā§‹āĻĄ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - āĻāĻŸāĻŋ "āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ"āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ "āĻšā§āĻ¯āĻžāĻ˛ā§‹ āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°" āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ¨āĻž āĻĒāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻŸāĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨:

$ ./waf configure --build-profile=debug --enable-examples --enable-tests

āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ¤ā§‡ Waf ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻĄāĻŋāĻŦāĻžāĻ— āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻŦāĻžāĻ— āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤

$ ./waf

āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ āĻšā§āĻ¯āĻžāĻ˛ā§‹-āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ°, āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡.

3.6.1 āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ

ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨:

$ ./waf --run <ns3-program> --command-template="%s <args>"

āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ. āĻ¯ā§āĻ•ā§āĻ¤āĻŋ - -command-template āĻĨā§‡āĻ•ā§‡ Waf āĻŽā§‚āĻ˛āĻ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋ Waf āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻļā§‡āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĒāĻžāĻĨ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ %s āĻĒā§āĻ˛ā§‡āĻ¸āĻšā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸āĻŸāĻŋāĻ•ā§‡ āĻœāĻŸāĻŋāĻ˛ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻŦāĻ‚ āĻāĻ° āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ• āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻĨāĻžāĻ•ā§‡:

$ ./waf --run '<ns3-program> --arg1=value1 --arg2=value2 ...'

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§€āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻŽāĻžāĻ‡āĻŸā§‡āĻ¸ā§āĻŸ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ¸ā§āĻŸ āĻ¸ā§āĻ¯ā§āĻŸ āĻ†āĻ›ā§‡ (āĻ†āĻ¸āĻ˛ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‡āĻ‡)āĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ ./test.py āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°. āĻ•āĻ˛ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯:

$ ./waf --run test-runner --command-template="%s --suite=mytest --verbose"

āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°. āĻ¯ā§‡āĻšā§‡āĻ¤ā§ mytest āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§‡āĻ‡, āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§‡. āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻŽā§āĻĻā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ˛āĻŋāĻ–ā§āĻ¨:

$ ./waf --run test-runner --command-template="%s --help"

3.6.2 āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚

āĻ…āĻ¨ā§āĻ¯ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ) āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻŸā§āĻ˛ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ­āĻžāĻ˛āĻ—ā§āĻ°āĻŋāĻ¨ā§āĻĄ), āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ - -command-template = "â€Ļ". āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻ†āĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻ˛ā§‹-āĻ¸āĻŋāĻŽā§āĻ˛ā§‡āĻŸāĻ° ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ:

$ ./waf --run=hello-simulator --command-template="gdb %s --args <args>"

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯ āĻ¯ā§‡ ns-3 āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ¨āĻžāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ¸ā§‡ - -run, āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ (āĻāĻ–āĻžāĻ¨ā§‡ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ) āĻšāĻ˛ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŸā§‹āĻ•ā§‡āĻ¨ - -command-template. āĻ…āĻĒāĻļāĻ¨ - -args āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋāĻ¯ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡āĻ° āĻŦāĻžāĻ•āĻŋ āĻ…āĻ‚āĻļ "āĻ¨āĻŋāĻŽā§āĻ¨" āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤āĨ¤ (āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻ›āĻŋ āĻ¨āĻž - -args. āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻ°āĻžāĻ¨ - -command-template āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻœāĻŋāĻĄāĻŋāĻŦāĻŋ args.) āĻ†āĻŽāĻ°āĻž āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋāĻŸāĻŋ āĻāĻŦāĻ‚ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

$ ./waf --run test-runner --command-template="gdb %s --args --suite=mytest --verbose"

3.6.3 āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ

ns-3 āĻ—āĻžāĻ›ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻ‡ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‡āĻ–āĻž āĻšāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ ns-3 āĻ‰ā§ŽāĻ¸ āĻ—āĻžāĻ›ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻžāĻ¨? āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ - -cwd:

$ ./waf --cwd=...

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

$ function waff {
CWD="$PWD" 
cd $NS3DIR >/dev/null 
./waf --cwd="$CWD" $*
cd - >/dev/null 
}

āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻāĻ‡ āĻ¸āĻœā§āĻœāĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡, āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¯āĻžāĻ¯āĻŧ WafāĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻĻā§‡āĻ¯āĻŧ Waf āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĻāĻ˛ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻŋ - -cwd āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ“āĻ¯āĻŧāĻžāĻĢ āĻšāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻŦā§āĻ¯āĻžāĻšāĻ¤: āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 4

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨